|
|
|
Recordset
|
|||
|---|---|---|---|
|
#18+
2 Jem На той информации которая есть полностью повторил Ни в 2000 ни 2002 ошибки нет. Такая ошибка была когда в триггере на таблицу, в которую добавляешь запись не было строки Set Nocount On ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 17:41 |
|
||
|
Recordset
|
|||
|---|---|---|---|
|
#18+
А в качестве команды синхронизации прекрасно работает хп с параметром. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 17:41 |
|
||
|
Recordset
|
|||
|---|---|---|---|
|
#18+
http://hiprog.com/access/article.asp?id=368 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 17:41 |
|
||
|
Recordset
|
|||
|---|---|---|---|
|
#18+
2Jem >Если говорить про MDB, то без рекордсета, насколько я понимаю нельзя осуществить работу с данными формы внутри транзакции к примеру.. Ну, во первых я говорил про присваивание Set Me.Recordset=rs. Во-вторых, транзакции внутри формы нужны (если конечно отбросить Акес, который все-таки свои операции делает в неявных транзакциях) только при наличи подчиненых форм, что легко организуется и без использования Set Me.Recordset=rs. К тому же, если говорить о adp, то случаи, когда нужно выполнения транзакции имеено на клиенте, мне лично, слабо представляются. Хотя, возможно, я не сталкивался с такими задачами... Jem, приведи пример, когда тебе нужна транзакция в форме, и будет несколько решений без использования "Set Me.Recordset=rs" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 17:42 |
|
||
|
Recordset
|
|||
|---|---|---|---|
|
#18+
Хам: см. справку "AddNew Method" Jem: И что там есть такого что я не делаю по-твоему? Хам: есть и я вижу а ты, судя по вопросу, не увидел а жаль ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 17:43 |
|
||
|
Recordset
|
|||
|---|---|---|---|
|
#18+
к ВС: там есть пример добавления записей не через существующий рекордсет а НОВЫЙ тогда и глюков не будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 17:48 |
|
||
|
Recordset
|
|||
|---|---|---|---|
|
#18+
Слава Аллаху, всемилостивейшему и всемогущему! Хам заговорил! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 17:51 |
|
||
|
Recordset
|
|||
|---|---|---|---|
|
#18+
я еще и крестиком вышивать умею ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 17:55 |
|
||
|
Recordset
|
|||
|---|---|---|---|
|
#18+
2 Senin Viktor Согласен. 2 ALL Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Создаем форму: Источник записей: prTest Уникальная таблица: Mysale Код на кнопке формы: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Ошибка таже! Может я конечно по запаре притупил, посмотите свежим взглядом. Обращу также внимание еще раз на то что ошибка выскакивает, данные в форме не добавляютя однако если на серваке открыть таблицу то все в порядке строчка добавилась. Соответсвенно проблема в форме. Вроде все ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 18:33 |
|
||
|
Recordset
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. В форме в команде синхронизации напиши Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 18:40 |
|
||
|
Recordset
|
|||
|---|---|---|---|
|
#18+
Alter PROCEDURE prTest AS set nocount on SELECT dbo.MySale.Summa, dbo.MySale.IdCust, dbo.Cust.Name, dbo.MySale.[IdSale] FROM dbo.Cust INNER JOIN dbo.MySale ON dbo.Cust.IdCust = dbo.MySale.IdCust строка синхронизации SELECT dbo.MySale.Summa, dbo.MySale.IdCust, dbo.Cust.Name, dbo.MySale.[IdSale] FROM dbo.Cust INNER JOIN dbo.MySale ON dbo.Cust.IdCust = dbo.MySale.IdCust where dbo.MySale.[IdSale]=? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 18:56 |
|
||
|
Recordset
|
|||
|---|---|---|---|
|
#18+
Не нужен тут Set Nocount ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 19:16 |
|
||
|
Recordset
|
|||
|---|---|---|---|
|
#18+
2ALL я может быть уже поздно, но.. Dim rst as ADODB.Recordset Dim intA as Integer set rst= New ADDB.Recordset так Гетц советует. и кажется это очень правильно. у меня это оказывало влияние на работу ADP Set rst=Me.Recordset Rst.AddNew ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 21:00 |
|
||
|
Recordset
|
|||
|---|---|---|---|
|
#18+
2 Jem Чем код отличается от такого? DoCmd.GoToRecord acDataForm, Me.name, acNewRec Me.IdCust = 1 Me.Summa = 350 DoCmd.RunCommand acCmdSelectRecord для чего использовать рекордсет? ошибка "Key value for this row was changed or deleted at the data store. The local row is now deleted" возникает на связке Access XP+SQL 7.0 если Access XP+SQL 2000 или Access 2000+SQL 7.0 - то этой ошибки нет подозреваю, что если на компьютер поставить последний MDAC, то и Access XP+SQL 7.0 все будет работать. 2 Pavel Не нужен тут Set Nocount В данном случае может быть и не нужен, но я себе поставил за правило, все процедуры и триггеры начинать с установки этой опции. А то потом вот так же как автор этого топика решаешь проблемы которых на самом деле не должно быть. Приведу пример: есть ленточная форма на таблицу, в таблице триггер правит записи в другой таблице, так вот пока в триггере не поставил Set Nocount On выдавалось сообщение похожее как у автора этого топика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 22:01 |
|
||
|
Recordset
|
|||
|---|---|---|---|
|
#18+
2 Pavel Ваша команда синхронизации должна выполниться быстрее ведь так? Просто писать в строке SQL запрос (он у меня достаточно сложный) может затянуть выполнение синхронизации. Я про это писал выше, мне кажется что лучше выполнить ME.Requry формы что должно по идее вызвать хп вновь, чем выполнять при синхронизации неоптимизированный запрос, но это только догадки.. 2 Вадя Мне кажется Гетц так не советует, по логике ООП строка set rst new ADODB.Recordset лишняя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 22:02 |
|
||
|
Recordset
|
|||
|---|---|---|---|
|
#18+
2 Jem Requery и ResyncCommand это разные вещи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 22:06 |
|
||
|
Recordset
|
|||
|---|---|---|---|
|
#18+
Jem Команда синхронизации формы затрагивает только одну запись, тогда как requery - все. команда синхронизации в виде хп отработает быстее запроса, т.к. хранится на сервере в откомпилированном виде. Кроме того, использование хп позволяет ограничить доступ непосредственно к таблицам. вадя В сдучае явного присваивания рекордстета никаких NEW не нужно. NEW исрользуется для явной инициализации нового рекордсета. В случае Set rs = Me.Recordset просто рождается ссылка на существующий обьект, новый не создается. incold С Set Nocount On все предельно просто - после любой операции с данными MSSQL возвращает строчку с указанием количество затронутых операцией записей. Set Nocount On подавляет это сообщение. Если процедура или триггер (в любой комбинации) возвращает эту строчку до интересующего набора записей, то возникает ошибка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2003, 05:46 |
|
||
|
Recordset
|
|||
|---|---|---|---|
|
#18+
2Jem >"Key value for this row was changed or deleted at the data store. The local row is now deleted" Что-то я в MSDN ничего про эту ошибку не нашел. Приведи ее полный текст, номер и прочую инфу. Может эта проблема давно решена каким-нить сервис-паком, а мы тут лбами бьемся. Поищи на support.microsoft.com описание. Чего гадать-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2003, 09:43 |
|
||
|
Recordset
|
|||
|---|---|---|---|
|
#18+
Заглохла ветка что-то... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2003, 20:22 |
|
||
|
Recordset
|
|||
|---|---|---|---|
|
#18+
а у формы стоит "разрешить добавление=да" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2003, 21:32 |
|
||
|
Recordset
|
|||
|---|---|---|---|
|
#18+
а у Гетца почитать стр.242-246. что-то подобное ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2003, 21:41 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32166577&tid=1681422]: |
0ms |
get settings: |
4ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 302ms |

| 0 / 0 |
