Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Если выполнен запрос, то поставить флажок или еще что-либо / 5 сообщений из 5, страница 1 из 1
31.03.2006, 11:22:29
    #33637072
Ovant
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Если выполнен запрос, то поставить флажок или еще что-либо
я делаю запрос на обновление таблицы, если одно поле не заполнено - :
dbsCDB.Execute ("Update [Order] Set [Order].[Pole1] = '" & Me.[Pole1] & "' WHERE [Order].[Pole2]='" & Me.[Pole2] & "' AND [Order].[Pole1]IS NULL "), dbFailOnError

так вот, если этот запрос не выполнятся
тогда выполнить другой запрос на добавление, причем надо создать новую запись, притом с теми же данными, только это поле другим будет.

dbsCDB.Execute ("INSERT INTO [Order] ([Pole1],[Pole2],[Pole3],[Pole4]) Values ('" &Me.[Pole1] & "', '" & Me.[Pole2] & "', [Pole3], [Pole4])"), dbFailOnError

эти самые [Pole3],[Pole4] должны быть такими же как и в той записи, на которую указывал первый запрос
Если кто знает, помогите пожалуйста!
...
Рейтинг: 0 / 0
31.03.2006, 11:34:39
    #33637113
TIKO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Если выполнен запрос, то поставить флажок или еще что-либо
если я правильно понял
ты хочешь при условии что запись в первом запросе не найдена
ввести новую а если есть то обновить ее
...
Рейтинг: 0 / 0
31.03.2006, 11:39:57
    #33637133
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Если выполнен запрос, то поставить флажок или еще что-либо
Код: plaintext
1.
2.
3.
conn.execute "Update ..."
if conn.affectedrecords =  0  then
   conn.execute "Insert ..."
end if
Но проще работать с рекордсетом:
Код: plaintext
1.
2.
3.
rs.Open "select ... where id = " & id, conn,..,..,..
if rs.recordcount =  0  then
   rs.addnew "id", id
end if
...
Рейтинг: 0 / 0
31.03.2006, 11:52:40
    #33637174
Ovant
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Если выполнен запрос, то поставить флажок или еще что-либо
TIKOесли я правильно понял
ты хочешь при условии что запись в первом запросе не найдена
ввести новую а если есть то обновить ее
нет если запись найдена и Pole1 пустое, то запрос на обновление

если же это Pole1 Is not null, то тогда скопировать ту запись, на которую указывал первый запрос, в смысле добавить запись в таблицу, и заполить Pole1
...
Рейтинг: 0 / 0
31.03.2006, 12:11:29
    #33637249
TIKO
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Если выполнен запрос, то поставить флажок или еще что-либо
могу предложить такой вариант не с валью а с селект


"INSERT INTO [Order] ([Pole1],[Pole2],[Pole3],[Pole4]) Select ('" &Me.[Pole1] & "', '" & Me.[Pole2] & "', [Pole3], [Pole4]) from Order where Pole1 IS NULL "

такой запрос вводит данные внешных переменных в таблицу с учетом условия в таблице-вводит только в том случае если пол ноль
попробуй и подправь условие как тебе удобно
может поможет
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Если выполнен запрос, то поставить флажок или еще что-либо / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]