Форум программистов CODEBY.NET Хостинг в Беларуси — Active Technologies

Разработка бизнес сайтов

Нужны клиенты? Тогда сюда быстрее...
X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )




 
Ответить Новая тема 
> Не обновляется Msflexgrid из рекордсета, Рекордсет не видит последней введенной записи
h7h2vC
Вставить ник
сообщение 22:04:2008, 14:36
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 2
Регистрация: 22:04:2008
Пользователь №: 16 822



Репутация: - 0 +


Здравствуйте, есть процеду добавления записи в таблицу ACCESS:
Код
cn.Execute "INSERT INTO Variants (VariantNum, Step, ElementCode, work_code, WorkPlaceID, RoutingID) " & _
              "VALUES (" & cVariantNum & ", '" & txtStep.text & "', '" & cPart & "', '" & cWork_code & "', '" & cRM_code & "', " & cRoutingID & ")"

И есть процедурка обновления MSFlexGrid1 из рекордсета, вызываемая сразу после добавления:
Код
'Заполняем таблицу новым маршрутом
Public Sub DrawNewRoute(cn As ADODB.Connection, frmName As Form)
   Dim str_sql As String
   Dim rst As ADODB.Recordset
   Set rst = New ADODB.Recordset

   Call CloseADOConnection(cn) 'Закрываем подключение
   Call PerformADOConnection(cn) 'Открываем подключение

   str_sql = "SELECT Variants.Step, works.work_name, Structure.StructureName AS Name, Routing.Norm, Routing.Norm2, Variants.VariantID, Routing.RoutingID, Variants.WorkPlaceID, Variants.work_code, Variants.Step, works.work_name " & _
             "FROM (((Structure INNER JOIN Work_WorkPlace ON Structure.StructureID = Work_WorkPlace.WorkPlaceID) INNER JOIN works ON Work_WorkPlace.work_code = works.work_code) INNER JOIN Routing ON (works.work_code = Routing.work_code) AND (Structure.StructureID = Routing.WorkPlaceID)) INNER JOIN Variants ON (Variants.RoutingID = Routing.RoutingID) AND (Variants.work_code = works.work_code) AND (Structure.StructureID = Variants.WorkPlaceID) AND (Routing.RoutingID = Variants.RoutingID) " & _
             "WHERE (((Variants.ElementCode) = '" & Form3.DataGrid1.Columns(1).text & "')) " & _
             "AND Variants.VariantNum = " & CInt(frmName.cboVariantNum.text) & " " & _
             "ORDER BY Variants.Step"

   rst.Open str_sql, cn, adOpenDynamic, adLockReadOnly, adCmdText
   rst.Requery
Дело в том, что если было 3 записи, мы добавили 1, то rst.RecordCount все равно будет равняться 3 сразу после добавления и обновления. Если же скопировать этот запрос (str_sql), сразу после добавления, в ACCESS то количество записей вернется верное, т.е. 4
Подняться вверх 
 
Сообщение #1


Ответить  Новая тема 

 

RSS Текстовая версия Сейчас: 16:05:2008 - 17:32
с нами можно связаться по:
телефону: +375-(29)-632-60-67
e-mail:info@codeby.net