powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / добавление записи в две таблицы одновременно
17 сообщений из 17, страница 1 из 1
добавление записи в две таблицы одновременно
    #32470483
Max K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ситуация простая - клиетская часть добавляет данные одновременно ) двумя последовательными запросами в две связанные таблицы на сервере... вроде бы все просто и понятно, но работает почему-то с глюками. т.е. в какие-то моменты данные попадают только в одну таблицу, а в другую - нет... обработчик ошибок молчит, ролбэк - тоже... ((

может кто-нибудь что-нибудь посоветует?
...
Рейтинг: 0 / 0
добавление записи в две таблицы одновременно
    #32470502
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Может, второй запрос так составлен, что он добавляет 0 записей.
...
Рейтинг: 0 / 0
добавление записи в две таблицы одновременно
    #32470520
Max K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
оба запроса идентичны, единственное что задаются из разных мест )
первый текстом, второй (кот. не работает) из .tag...
...
Рейтинг: 0 / 0
добавление записи в две таблицы одновременно
    #32470530
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Интересно было бы заняться отладкой. Посмотреть текст запроса перед запуском. Запустить вручную...
...
Рейтинг: 0 / 0
добавление записи в две таблицы одновременно
    #32470559
Max K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
дело в том, что этот момент мне не поймать... т.е. при отладке вручную все работает, но при работе программы в течении дня данная ситуация может повториться несколько раз... недостающие записи я потм конечно ловлю, но ПОЧЕМУ это происходит??
...
Рейтинг: 0 / 0
добавление записи в две таблицы одновременно
    #32470565
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ни запросов, ни как они вызываются, ни версии (mdb/adp)...
Что-то не работает, а что - хрен его знает... И ведь в самом деле - хрен его знает! Если что-то не работает - надо что-то как-то починить.
Телепяты, вперед!

Гюльчатай, открой личико, а?
Max K, ты хоть способ запуска запросов покажи?
...
Рейтинг: 0 / 0
добавление записи в две таблицы одновременно
    #32470568
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Ну тогда можно заняться писанием лога. И тогда в конце дня можно будет что-то отследить по нему.
...
Рейтинг: 0 / 0
добавление записи в две таблицы одновременно
    #32470595
Фотография 4d_monster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня тоже возникает подобная проблемма:

в mdb есть две слинкованные из другого mdb(на другом компьютере) таблицы.

есть запросы, которые добавляют данные в эти таблицы, запросы запускаются из модуля CurrentDB.Execute , в одну таблицу данные добавляются, в другую нет.
Причём если вручную дебагерить ВСЁ ок.
При правильном использовании (by Users) ПЕРЕОДИЧЕСКИ тоже всё ок.
...
Рейтинг: 0 / 0
добавление записи в две таблицы одновременно
    #32470613
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Ну так тот же совет.
...
Рейтинг: 0 / 0
добавление записи в две таблицы одновременно
    #32470631
Max K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лох Позорный

не писал подробностей, потому что и писать-то нечего, все вроде понятно

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
With CurrentDb.CreateQueryDef("")
    If Me.NewRecord Then
       ' Заносим в таблицу1
       .SQL ="INSERT INTO таблица1 ... SELECT ..."
       .Execute
       '  Заносим в таблицу2
       .SQL = Me.Tag ' здесь запрос такой же
       .Execute
    End If
End With


запросы из клиентских mdb
таблицы1,2 - связанные с серверной mdb
MS Access 2002
...
Рейтинг: 0 / 0
добавление записи в две таблицы одновременно
    #32470674
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ню-ню... понятно ему все...
как задницей чувстсвовал

.Execute dbFailOnError

RTFM
...
Рейтинг: 0 / 0
добавление записи в две таблицы одновременно
    #32470690
Max K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Лох Позорный

пожалуйста не надо ртфм-ов...
dbFailOnError было убрано ради эксперимента, потому как с ним таже фигня...
и потом писал же, что используется begintrans, так что по любому при ошибке полный откат должен быть.
...
Рейтинг: 0 / 0
добавление записи в две таблицы одновременно
    #32470700
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и с какой радости у тебя откат случится, а? сам по себе произойдет? типа ошибки никакой нет (т.е. она есть, но молча глотается без dbFailOnError), а транзакция раз - и откатилась, да?

все таки RTFM, батенька, RTFM
и чем чаще, тем лучше

Ф1В рабочей области ядра Microsoft Jet при правильном синтаксисе инструкции SQL и подходящих разрешениях метод Execute никогда не приводит к ошибке — даже если не удается изменить или удалить ни одну из записей. Поэтому всегда следует использовать параметр dbFailOnError при запуске с помощью метода Execute запроса на обновление или удаление записей.
...
Рейтинг: 0 / 0
добавление записи в две таблицы одновременно
    #32470856
Max K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да вобщем не в dbFailOnError дело... раньше с ним запросы выполнялись, но ни разу access в обработчик не сваливался
...
Рейтинг: 0 / 0
добавление записи в две таблицы одновременно
    #32470874
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну значит или обработчик неправильный, или запрос действительно ничего не делает и не выдает ошибок.
...
Рейтинг: 0 / 0
добавление записи в две таблицы одновременно
    #32470900
Max K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ладно, всем спасибо, буду дальше мучиться ;)
...
Рейтинг: 0 / 0
добавление записи в две таблицы одновременно
    #32470925
фыыф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Усе может зависеть от того, как расставлены переходы на обработчик. В частности можно придумать случай, когда SQL во второй раз не изменится.
Утрируя (вряд ли в действительности все так плохо):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Public Function TestQDF()
On Error Resume Next
DBEngine.BeginTrans
Me.Tag =  "Фигняс и ошибочки" 
    With CurrentDb.CreateQueryDef( "")    
        If True Then
           ' Заносим в таблицу1
           .sql = "INSERT INTO tests Values(1,1,1)"
           .Execute dbFailOnError
           '  Заносим в таблицу2
           .sql = Me.Tag ' здесь запрос такой же
           Debug.Print Err.Description
           Err.Clear
           .Execute dbFailOnError
        End If
    End With
If Err <> 0  Then
    DBEngine.Rollback
    Debug.Print "Rollback "
Else
    DBEngine.CommitTrans
    Debug.Print " Committed"
End If
End Function


?form_testqdfform.TestQDF()
Ошибочная инструкция SQL; предполагалось 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' или 'UPDATE'.
Committed

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


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