Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ADP: Необновляемый рекордсет / 17 сообщений из 17, страница 1 из 1
19.01.2004, 13:50
    #32380237
ya
ya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP: Необновляемый рекордсет
Привет всем!

Задача:
Склад, перемещение со склада,накладная. Открываю 1-й рекордсет по накладной, 2-й по остаткам. необходимо обновлять записи одного рекордсета записями из другого, т.е. перемещение товара.

Проблема: текущий рекордсет не поддерживает обновления!
Строк мало, поэтому для проверки использую примитив - msgbox.
при использовании adLockBatchOptimistic сообщение не появляестя , но вместо результата выводится False?

Вопрос: где туплю? В mdb все нормально было, а ща перехожу на adp. Я только учусь.
Help please!
...
Рейтинг: 0 / 0
19.01.2004, 13:57
    #32380256
Shark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP: Необновляемый рекордсет
>вопрос:где я туплю
Пытаетесь получить консультацию, НИЧЕГО не сказав про свои рекордсеты.
...
Рейтинг: 0 / 0
19.01.2004, 14:07
    #32380285
Хам трамвайный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP: Необновляемый рекордсет
ya
дорогуша, отойдите
от рекордсетов подальше-
от них излучение.
триггеры, ХП и транзакции
тебе помогут
...
Рейтинг: 0 / 0
19.01.2004, 14:27
    #32380347
ya
ya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP: Необновляемый рекордсет
2ХТ: честно говоря не представляю, чем можно в данной ситуации заменить (из предложенных ) "источник излучения" :)
2Shark: извини за вопрос, но что именно я должен сказать о рекордсетах
...
Рейтинг: 0 / 0
19.01.2004, 14:32
    #32380360
Shark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP: Необновляемый рекордсет
Ну бейсик наверно показать, как ты их делаешь. Ну прикол же- мои рекордсеты необновляемые, памагите. Может тип у них такой, может ключа в таблице нет, может, они и не должны быть обновляемыми. Юнион какой нибудь использован.
Я в похожей задачке делал локальные таблички на DAO, которые и показывал пользователю. А данными на сервере манипулировал процедурами и пр.
...
Рейтинг: 0 / 0
19.01.2004, 14:33
    #32380362
Хам трамвайный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP: Необновляемый рекордсет
объясняю облученным
рекордсет1 - это select from Таблица1
рекордсет2 - это select from Таблица2

делаишь
update Таблица1
set Кол=Таблица1.Кол+Таблица2.Кол
from Таблица1 INNER JOIN Таблица2 ON
Таблица1.ID=Таблица2.ID
а потом requery формы
и все
...
Рейтинг: 0 / 0
19.01.2004, 14:40
    #32380379
ya
ya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP: Необновляемый рекордсет
2shark:
Dim cn As New ADODB.Connection
Dim rsM As New ADODB.Recordset
Dim rsS As New ADODB.Recordset
Dim sql As String
cn.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=proba;Data Source=ALEX"
cn.Open

sql = "SELECT TOP 100 PERCENT Cod, Kol, Price, Nom,rowid FROM dbo.TblStorageRest WHERE (rowid IN (SELECT x FROM dbo.t))ORDER BY Cod"

Set rsS.ActiveConnection = cn
rsS.Open sql, cn, adOpenDynamic ', adLockBatchOptimistic

sql = "SELECT TblStoragemove.Cod, TblStoragemove.Kol, TblStoragemove.PriceTov,TblStoragemove.D_pr,TblStoragemove.Postav,TblStoregePapers.Kontragent, TblStoregePapers.Nomer, TblStoregePapers.ID, TblStoragemove.rowid FROM TblStoregePapers INNER JOIN TblStoragemove ON TblStoregePapers.ID = TblStoragemove.ID WHERE (TblStoragemove.Refresh = 0) and (TblStoragemove.ID= '" & Me!Id & "')"

Set rsM.ActiveConnection = cn
rsM.Open sql, cn, adOpenDynamic ', adLockBatchOptimistic

If rsM.RecordCount <> 0 Then
rsM.MoveFirst
Do While rsM.EOF = False
rsS.Filter = ""
rsS.Filter = "[cod]= '" & rsM.Fields(0).Value & "'"
If Not rsS.EOF Then
rsS.MoveFirst
Do While Not rsS.EOF
If rsS.Fields(1).Value < rsM.Fields(1).Value Then
rsS.Fields(1).Value = rsS.Fields(1).Value - rsM.Fields(1).Value
'rsS.Update
MsgBox "" &rsS.Fields(1).Value = rsS.Fields(1).Value - rsM.Fields(1).Value
End If
rsS.MoveNext
Loop
Else
End If
rsM.MoveNext
Loop
End If
rowid - ключевое поле
...
Рейтинг: 0 / 0
19.01.2004, 14:46
    #32380389
ya
ya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP: Необновляемый рекордсет
2ХТ: такое в моей чернобыльской башке роится, тока до конца все оформить не могу. много "если" ....над подумать ....
...
Рейтинг: 0 / 0
19.01.2004, 15:04
    #32380440
incold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP: Необновляемый рекордсет
2 ya

При переходе на ADP самый лучший вариант, забыть все методы и подходы в организации расчетов, доступа к данным, построения отчетов и т.п.
Оставить в памяти только синтаксис VBA и знание конструктора Access.

Все остальное желательно учить "с нуля"...например по Гетцу (т.2) + какая-нибудь книга по базам данных + книга по T-SQL.
...
Рейтинг: 0 / 0
19.01.2004, 15:08
    #32380457
ya
ya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP: Необновляемый рекордсет
2 incold
желания хоть отбавляй!
много упоминаний о Гетце.
Ссылку не кинешь(если есть)?
...
Рейтинг: 0 / 0
19.01.2004, 15:12
    #32380472
incold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP: Необновляемый рекордсет
В форуме есть поиск.
Пишешь Гетц жмешь кнопочку и получаешь целую кучу обсуждений (в т.ч. есть ли в сети, стоит ли покупать и т.д.)

http://sql.ru/forum/actualsearch.aspx?search=%C3%E5%F2%F6&a=&ma=0&bid=4&dt=-1&s=1&so=1
...
Рейтинг: 0 / 0
19.01.2004, 15:23
    #32380493
ya
ya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP: Необновляемый рекордсет
2 incold:
за ссылку пасиба ;)))
а по теме ниче не подскажешь, вариант Хама не устраивает,...или я че - то не догоняю
...
Рейтинг: 0 / 0
19.01.2004, 15:30
    #32380512
incold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP: Необновляемый рекордсет
А по теме Хам как раз правильно сказал (хранимые процедуры и триггера вместо рекордсетов), я просто добавил, что переход на ADP - это все равно что перейти с программирования под DOS на Windows. Сильно меняются глобальные представления о проектировании программ, а не какие-то тонкости в написании программного кода.
...
Рейтинг: 0 / 0
19.01.2004, 15:48
    #32380564
ya
ya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP: Необновляемый рекордсет
допустим...

Табл1: (накладная)
код кол
1 10
2 10

Табл2: (выборка из остатков склада)
код кол цена
1 1 0,4
1 8 0,5
1 6 0,6
2 4 0,7
2 14 0,55

необходимо списать со склада в таком порядке, в mdb через рекордсет прекрасно все шло....
нада писать хп или тригер (об этом ваще смутно понятие имею)?
если хп , то не понятка с логикой работы этой самой хп, апдейтить то придется два набора записей
че скажешь, народ?
...
Рейтинг: 0 / 0
19.01.2004, 15:59
    #32380597
Хам трамвайный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP: Необновляемый рекордсет
почитай про курсоры

DECLARE <cursor_name, sysname, test_cursor> CURSOR
KEYSET
FOR <select_statement, , SELECT au_fname FROM pubs.dbo.authors>

DECLARE @name varchar(40)

OPEN <cursor_name, sysname, test_cursor>

FETCH NEXT FROM <cursor_name, sysname, test_cursor> INTO @name
WHILE (@@fetch_status <> -1)
BEGIN
IF (@@fetch_status <> -2)
BEGIN
-- PRINT 'add user defined code here'
-- eg.
PRINT 'updating record for ' + @name
UPDATE pubs.dbo.authors
SET phone = replace(phone, ' ', '-')
WHERE CURRENT OF <cursor_name, sysname, test_cursor>
END
FETCH NEXT FROM <cursor_name, sysname, test_cursor> INTO @name
END

CLOSE <cursor_name, sysname, test_cursor>
DEALLOCATE <cursor_name, sysname, test_cursor>
...
Рейтинг: 0 / 0
19.01.2004, 16:00
    #32380599
incold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP: Необновляемый рекордсет
Один из народа скажет, что у тебя ноги не успевают бежать за головой

Если у тебя смутное представление о триггерах и хп, то лучше
прочитай теорию, а потом переходи к конкретным примерам.

Без обид - просто как совет.

Никакого форума не хватит, чтобы рассказать "на пальцах" логику работы хп при непонимании логики работы клиент-серверного приложения.
...
Рейтинг: 0 / 0
19.01.2004, 16:18
    #32380635
ya
ya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP: Необновляемый рекордсет
2incold: да все намана...
опыта маловато, поэтому и вопросы дилетанские

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


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