Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 | 2 | 3 |

 

  Вопрос: COM компонента под Office Добавлено: 04.07.05 16:43  

Автор вопроса:  Dogmatic
Знатоки, подскажите пожалуйста, можно ли сделать COM-компонену под MS Access, на VB.NET. Если можно, то помимо ответа, было бы здорово получить примерчик. Если у вас есть какие-то компоненты написанные вами и подходящие под MS Office 2000 или 2003sp2. Например под Word, если нету под Access. В общем под любой, мне главное разобраться, дальше свой напишу.

Слышал что-то про COM+компоненты, если это похоже на то, что мне надо(вроде как это замена для СОМ компонент в VB.NET), то напишите про них, с примером опять же.

Примеры(проджекты) можно кинуть сюда: dogmatic@bk.ru

Ответить

  Ответы Всего ответов: 37  

Номер ответа: 1
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #1 Добавлено: 04.07.05 18:04
Что имеется в виду под COM-компонентой под MS Access?
Access сам по себе законченный COM-объект.

Ответить

Номер ответа: 2
Автор ответа:
 Dogmatic



Вопросов: 1
Ответов: 21
 Профиль | | #2 Добавлено: 05.07.05 11:28
Спасибо за ответы.
В связи с возникшими вопросами, поясняю...
Нужно написать приложение, которое сможет интегрироваться в БД MS Access, например в виде макроса, точнее запуск по кнопке макроса, а в макросе запускается приложение. Грубо говоря, это будет визуализация самой БД. Сначало планировалось написать на VB6, соответственно в виде COM компоненты. Потом решили написать на .NET, так как идет переход на эту техноогию. Я, соотвественно, тока чичас начал спешно изучать VB, вообще, до этого тока на VC++ и Delphi писал, вот и хотелось бы примерчик, что это вообще такое COM компонента в VB.NET.

Ответить

Номер ответа: 3
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #3 Добавлено: 05.07.05 13:45
Ы...

Значит так...
Открываем VB .NET (раз уж прямо на нём охота), идём в References, на вкладке COM ищем Microsoft Access X.X Object Library, подключаем и управляем Access'ом.
Без написания каких-то там компонент зачем-то...

Ответить

Номер ответа: 4
Автор ответа:
 Dogmatic



Вопросов: 1
Ответов: 21
 Профиль | | #4 Добавлено: 05.07.05 14:02
До этого места, я в книжках сразу дорылся :) Это единственное, что в них пишется про COM, но штука в том, что я из Access-а должен управлять. Моя бы воля, я бы просто пихнул макрос, запускающий .ехе приложение, в котором сответственно рисуется все что хочешь, но пока я еще не убедил шефа в правильности этого решения. Очередное спасибо за ответ.

Ответить

Номер ответа: 5
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #5 Добавлено: 05.07.05 14:09
Из Access-а управлять чем?
Где основной код?

Ответить

Номер ответа: 6
Автор ответа:
 Dogmatic



Вопросов: 1
Ответов: 21
 Профиль | | #6 Добавлено: 05.07.05 15:09
Ы...
Код еще тока пишется, я за это взялся в понедельник, пока пытаюсь понять как вообще запускать приложение.
А так объясняю еще раз, есть уже БД в Access-е, она уже написана, работает, все в ней хорошо, много всяких функций красивых, а обслуживает она, например, склад вещей. Мне надо визуализировать (просто нарисовать) этот склад, при этом как нарисовать его я себе уже неплохо представляю. Этот план будет вызываться из этой самой БД, написанной в Access-е, в нем там можно будет всякие функции вызывать, навроде показать товар и все такое, + может быть наилучшие маршруты показывать по загрузке-разгрузке.

Ответить

Номер ответа: 7
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #7 Добавлено: 05.07.05 16:03
А... гм... хм... дык.

Почему бы не написать весь код непосредственно в Access, без привлечения всякой фигни?

Ответить

Номер ответа: 8
Автор ответа:
 Dogmatic



Вопросов: 1
Ответов: 21
 Профиль | | #8 Добавлено: 05.07.05 16:14
Гыг, требуется dll-ка которая буит работать и в 2000 и в 2003 Access-е. Ее подключаем как ActiveX - объект и все классно, это, то что требуетсЯ, а разбираться надо мне... Вот все, что я могу на это сказать.

Ответить

Номер ответа: 9
Автор ответа:
 ⊗WaX⊗



Вопросов: 26
Ответов: 325
 Web-сайт: sapfir.cift.ru
 Профиль | | #9
Добавлено: 05.07.05 16:31
Написать Com комплнент на >NET можно, но что ты хочешь чтобы он делал.
Если ты хочешь чтобы база была в Access а форма для работы с ней была написана на .net?

Тогда никаких компонентов создавать не нужно, скачай примеры по работе с ado.net с этого сайта.
Или любую книгу открой по .net примеров с Access масса

Ответить

Номер ответа: 10
Автор ответа:
 Dogmatic



Вопросов: 1
Ответов: 21
 Профиль | | #10 Добавлено: 05.07.05 17:13
Вообще я хочу получить готовый пример COM компоненты, с его кодом, который может быть вставлен в пакет Office 2003, чтобы по аналогии написать свой.
По поводу вопроса, уточняю конкретнее: на .net должна быть написана не форма для работы, а всего лишь компонента базы, чтобы функции этой компоненты вызывались из самого БД (БД окныбовенное, написанное в Access-е). В общем обычный СОМ нужен, например в виде dll. Делать форму под базу на .net уже не рационально, так как база большая и мощная, а простой интерфейс, наружний тоже не получится, так как это не SQL-server. Вывод, нужна не форма или оболочка, а компонент, интегрированный в среду самой базы, в данном случае MS Access-а.
Спасибо за ответы

Ответить

Номер ответа: 11
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #11 Добавлено: 05.07.05 17:56
Ну зачем, зачем писать COM на .NET...
Зачем вообще писать что-то внешнее, если можно весь функционал сделать частью базы???

Ответить

Номер ответа: 12
Автор ответа:
 Dogmatic



Вопросов: 1
Ответов: 21
 Профиль | | #12 Добавлено: 05.07.05 23:49
Раз сказано, значит надо сделать... По-моему с руководством не всегда спорят, это как раз тот случай... А мне всего лишь нужен пример, если такого не существует в природе, то мне нужен именно такой ответ, тогда я смогу уговорить делать на VB6

Ответить

Номер ответа: 13
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #13 Добавлено: 06.07.05 04:12
Вот в природе, например, существует утконос. Но это же не повод...


Руководство же, по всей видимости, не понимает своей роли. Руководство должно ставить задачу - что должно быть сделано (например, программа с такими-то функциями). А как она должна быть сделана - должен выбирать ты, как специалист в области программирования.

Ответить

Номер ответа: 14
Автор ответа:
 ⊗WaX⊗



Вопросов: 26
Ответов: 325
 Web-сайт: sapfir.cift.ru
 Профиль | | #14
Добавлено: 06.07.05 06:57
Gserg конечно же прав с начальством спорить не нужно – нужно выслушать и сделать по своему, но раз надо – держи.


Public Class MyNewClass
Public MyCounter As Integer
Public ReadOnly myGreating As String
Private myPrivate As Long=0

Public Sub New()
myGreating=”Hello World”
myCounter=0
End Sub

Public Function AddCounter() As String
myCounter+=1
Return myCounter.ToString
End Function
End Class


Затем в Solution Explorer кликни правой кнопкой по названию проекта выбери properties
Найди там закладку Strong names.
Поставь галочку Generate strong name using и выбери “key file“/
Нажми на кнопку Generate key
В разделе Configuration properties в элементе build поставь галочку в Register for the COM Interrupt.

Все это можно сделать и в ручную с помощью консольных команд sn gacutil и regasm но об этом в следующем номере :)))


Вызывается компонент так же как обычный COM компонент.

cya WaX

Ответить

Номер ответа: 15
Автор ответа:
 Dogmatic



Вопросов: 1
Ответов: 21
 Профиль | | #15 Добавлено: 06.07.05 11:25
Наконецто :). Спасибки и тебе GSerg, и тебе WaX, хотя тут конечно половина оффтопик, по поводу моего начальства, но все-таки ответ я получил. Сейчас буду пробывать. Еще раз Tnx.

Ответить

Страница: 1 | 2 | 3 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам