powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / обновление связанных таблиц
17 сообщений из 17, страница 1 из 1
обновление связанных таблиц
    #33904948
linsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пытаюсь обновить записи в связанных таблицах, при отладке ошибок никаких не выдается, но записи не обовялются, в чем может быть причина?
...
Рейтинг: 0 / 0
обновление связанных таблиц
    #33904972
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какая база? Приведите ваш код обновления.
...
Рейтинг: 0 / 0
обновление связанных таблиц
    #33904975
shady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
рекордсет случайно не readonly открыт?
покажите строку подключения, и как пытаетесь обновить
...
Рейтинг: 0 / 0
обновление связанных таблиц
    #33904986
linsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
База Access, вот запрос:
UPDATE TRp INNER JOIN Rpt ON (TRp.P2=Rpt.P2 And TPr.P3=Rpt.P3 And TPr.P20='ДОК') Set P22=RecSet1.Fields(0) where TPr.P5 is NULL

В recSet1 записано то, чем нужно обновить.
...
Рейтинг: 0 / 0
обновление связанных таблиц
    #33905010
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
linsa
UPDATE TRp INNER JOIN Rpt ON (TRp.P2=Rpt.P2 And TPr.P3=Rpt.P3 And TPr.P20='ДОК') Set P22=RecSet1.Fields(0) where TPr.P5 is NULL
...
Рейтинг: 0 / 0
обновление связанных таблиц
    #33905029
linsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот вам смешно, а я только учусь... Чего не так-то?
...
Рейтинг: 0 / 0
обновление связанных таблиц
    #33905074
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Set P22='" & RecSet1.Fields(0).Value & "'
для начала так
для меня это новость INNER JOIN в update -e ,а какой смысл INNER JOIN -а
...
Рейтинг: 0 / 0
обновление связанных таблиц
    #33905112
linsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Inner join использую для связи таблиц.
...
Рейтинг: 0 / 0
обновление связанных таблиц
    #33905322
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно так:
Код: plaintext
"UPDATE TRp Set P22=" & RecSet1.Fields( 0 ) & " from Rpt where TRp.P2=Rpt.P2 And TPr.P3=Rpt.P3 And TPr.P20='ДОК' and TPr.P5 is NULL"
...
Рейтинг: 0 / 0
обновление связанных таблиц
    #33905482
linsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AntonariyНужно так:
Код: plaintext
P22=" & RecSet1.Fields(0) & " 


Не проходит именно это, если пишу просто какое-нибудь число, то все обновляется :(
...
Рейтинг: 0 / 0
обновление связанных таблиц
    #33905737
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если RecSet1.Fields(0).Value?
...
Рейтинг: 0 / 0
обновление связанных таблиц
    #33905758
linsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AntonariyА если RecSet1.Fields(0).Value?
Неа, не помогает...
...
Рейтинг: 0 / 0
обновление связанных таблиц
    #33905813
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полный текст можно увидеть?
...
Рейтинг: 0 / 0
обновление связанных таблиц
    #33905819
linsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AntonariyА если RecSet1.Fields(0).Value?
Неа, не помогает...
...
Рейтинг: 0 / 0
обновление связанных таблиц
    #33907835
linsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sub Implement()
Dim FullPathMDB As String
Dim DatConct As Object
Dim RecSet As Object
Dim RecSet1 As Object
Dim k As String
On Error GoTo 20
Set DatConct = CreateObject("ADODB.Connection")
Set RecSet = CreateObject("ADODB.Recordset")
Set RecSet1 = CreateObject("ADODB.Recordset")
FullPathMDB = ActiveWorkbook.Worksheets("ComplSheet").Range("RGN_Data").Value

DatConct.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FullPathMDB
RecSet.Open "TPR", DatConct
RecSet.MoveNext
Do While Not RecSet.BoF

RecSet1.Open " SELECT TPR.P5 FROM TPr Left Join Rpt on (TPR.P2=RPt.P2 AND TPR.P3=RPt.P3)", DatConct
RecSet1.MoveNext
If Not RecSet1.BoF Then
DatConct.Execute " UPDATE TPr Set P22='&RecSet1.Fields(0)&' where TPr.P8 is NULL "
RecSet.MoveNext
RecSet1.Close
End If
Loop
RecSet.Close
DatConct.Close
Set RecSet = Nothing
Set RecSet1 = Nothing
Set DatConct = Nothing
GoTo 30
20 MsgBox "Ошибка" & Err.Description, vbSystemModal + vbExclamation
30
End Sub

Вот такой текст.
...
Рейтинг: 0 / 0
обновление связанных таблиц
    #33907949
TIKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если вот это поле P22 текстовое то пиши так


Код: plaintext
"UPDATE TPr Set P22='" & RecSet1.Fields( 0 ).Value & "' where TPr.P8 is NULL "

если числовое пиши так
Код: plaintext
1.
"UPDATE TPr Set P22=" & RecSet1.Fields( 0 ).Value & " where TPr.P8 is NULL "
...
Рейтинг: 0 / 0
обновление связанных таблиц
    #33908329
linsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем огромное, заработало!
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / обновление связанных таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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