Ошибка 13:Type mismatch - VB
Формулировка задачи:
посоветуйте пожалуста решение по устранению ошибки, при выполнении кода после 24 строки выдает ошибку 13:Type mismatch
Листинг программы
- Private Sub Кнопка36_Click()
- Dim CNN As ADODB.Connection
- Dim R As ADODB.Recordset
- Dim s As String, ra As String
- If MsgBox("Сохранить внесённые изменения ?", vbExclamation + vbYesNo) = vbNo Then
- Exit Sub
- End If
- On Error GoTo ошибка
- Set CNN = New ADODB.Connection
- CNN.ConnectionString = ADO
- DoCmd.Hourglass True
- CNN.CommandTimeout = 300
- CNN.Open
- CNN.BeginTrans
- Set R = New ADODB.Recordset
- R.Open "SELECT * " _
- & "FROM temp_tabl1", CurrentProject.Connection, adOpenDynamic
- Do While Not R.EOF
- ra = "[План] = " & R!План & " " & vbCrLf
- If Not IsNull(R!План) Then ra = ra & ",[План] = '" & Nz(R!План, Null) & "' " & vbCrLf
- s = "UPDATE dbo.tabl2 " & _
- "SET " & ra & _
- "WHERE Номер_склада = " & R!Номер_склада And Код_пользователя = " & R!Код_пользователя AND ShipFrom = " & R!ShipFrom And Код_плана = " & R!Код_плана"
- MsgBox s
- CNN.Execute (s)
- R.MoveNext
- Loop
- CNN.CommitTrans
- R.Close
- Set R = Nothing
- CNN.Close
- Set CNN = Nothing
- DoCmd.Hourglass False
- ошибка:
- CNN.RollbackTrans
- MsgBox erR.Number & ":" & erR.Description, vbCritical
- DoCmd.Hourglass False
- End Sub
Решение задачи: «Ошибка 13:Type mismatch»
textual
Листинг программы
- Private Sub Кнопка36_Click()
- If MsgBox("....?", vbExclamation + vbYesNo) = vbYes Then
- ' сохранение записей
- Dim CNN As ADODB.Connection
- Dim R As ADODB.Recordset
- On Error GoTo ошибка
- [Form_Картотека].bChange = True
- Set CNN = New ADODB.Connection
- CNN.ConnectionString = ADO
- DoCmd.Hourglass True
- CNN.CommandTimeout = 300
- CNN.Open
- CNN.BeginTrans
- Set R = New ADODB.Recordset
- R.Open "SELECT .....", CurrentProject.Connection, adOpenDynamic
- Dim s As String, ra As String
- Do While Not R.EOF
- s = "INSERT INTO ....."
- ra = "[Порядок_сорт] = " & Nz(R!Порядок_сорт, 0) & "," & vbCrLf & _
- "[Ввод] = " & IIf(R!Ввод, 1, 0) & "," & vbCrLf
- If Not IsNull(R!Номер) Then ra = ra & ",[Номер = '" & Nz(R!Номер, Null) & "' " & vbCrLf
- s = "UPDATE ...."
- 'MsgBox s
- CNN.Execute (s)
- R.MoveNext
- Loop
- CNN.CommitTrans
- R.Close
- Set R = Nothing
- CNN.Close
- Set CNN = Nothing
- DoCmd.Hourglass False
- End If
- Exit Sub
- ошибка:
- CNN.RollbackTrans
- MsgBox erR.Number & ":" & erR.Description, vbCritical
- DoCmd.Hourglass False
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д