Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

Access+SQL+VBA

Здравствуйте,

У меня вот какой вопрос:
необходимо создать БД. таблица, связи, заполнение таблиц данными
необходимо осуществить с помощью VBA. но не стандартными
процедурами, а чисто на SQL (DDL).
Я уже запуталась... как это?

Если можно хотя бы направьте в каком направлении искать ответ...

-****-
Galina

Номер выпуска : 5062
Возраст листа : 800 (дней)
Количество подписчиков : 547
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/481990
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

Ответить   Tue, 29 Nov 2005 11:16:52 +0500 (#481990)

 

Ответы:

Исходное сообщение От: "Galina" <SGal***@i*****.ru>
Кому: "comp.soft.prog.prog (5413378)" <sur***@f*****.ru>
Отправлено: 29 ноября 2005 г. 9:16
Тема: Access+SQL+VBA

Доброе время суток
Уточните - из Access? В нем именно это я не делал, но можно разобраться.
Нужно запустить редактор Visual Basic Alt+F11 - а там SQL - лучше всего, по-моему,
через ADOX (использует MS Office)
У меня сейчас оказалось, что справка эта не установлена. Нужно небольшое время,
чтобы найти, откуда пакет ставил ... :(
Не получится, напишите - найду (из Delphi через ADO делал нечто подобное, но
не в полном объеме, что Вы написали)

Ответить   Tue, 29 Nov 2005 10:19:57 +0300 (#482005)

 

Привет.

Достаточно просто.
Нужно сформировать строки с нужными
операторами SQL и выполнить их.

Например так:

Option Compare Database
Option Explicit

Public Sub ExecSQL(sText As String)
Dim refSelf As Database

Set refSelf = CurrentDb
refSelf.Execute sText
Set refSelf = Nothing
End Sub

Public Sub MakeDb()
ExecSQL ("CREATE TABLE USERS (ID INTEGER PRIMARY KEY,NAME TEXT)")
ExecSQL ("CREATE TABLE EMAIL (USERID INTEGER NOT NULL,MAIL TEXT)")
ExecSQL ("ALTER TABLE EMAIL ADD CONSTRAINT USERID FOREIGN " & _
"KEY (USERID) REFERENCES USERS (ID)")
ExecSQL ("INSERT INTO USERS (ID,NAME) VALUES (1,'имя')")
ExecSQL ("INSERT INTO EMAIL (USERID,MAIL) VALUES (1,'имя@где_то_там.net')")
End Sub

Номер выпуска : 5064
Возраст листа : 800 (дней)
Количество подписчиков : 547
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/482019
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

Ответить   Tue, 29 Nov 2005 11:13:44 +0300 (#482019)

 

Ввела я код, а он "ругается" уже с самого начала (на первые две
строчки)...

???

-****-
Galina

Номер выпуска : 5065
Возраст листа : 801 (дней)
Количество подписчиков : 547
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/482365
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

Ответить   Wed, 30 Nov 2005 09:10:45 +0500 (#482365)

 

Желательно, конечно, в таких случаях приводить текст ошибки.
Но почти наверняка это 'User defined type not defined'.

Обычно такая ошибка означает, что не подключена какая-то
библиотека. А именно, 'Microsoft DAO ... Object Library'.

Нужно в редакторе Visual Basic выбрать пункт меню Tools\References
и в появившемся списке пометить требуемую библиотеку.
У меня это 'Microsoft DAO 3.6 Object Library' (Access 2000).

Номер выпуска : 5066
Возраст листа : 801 (дней)
Количество подписчиков : 547
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/482376
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

Ответить   Wed, 30 Nov 2005 08:20:57 +0300 (#482376)

 

Большое спасибо лично Вам, Алексей! и всем! все заработало...надо же
было так недосмотреть ... :)))

-****-
Galina

Номер выпуска : 5068
Возраст листа : 801 (дней)
Количество подписчиков : 547
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/482611
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

Ответить   Wed, 30 Nov 2005 20:45:07 +0500 (#482611)