Ошибка 13:Type mismatch - VB

Узнай цену своей работы

Формулировка задачи:

посоветуйте пожалуста решение по устранению ошибки, при выполнении кода после 24 строки выдает ошибку 13:Type mismatch
Листинг программы
  1. Private Sub Кнопка36_Click()
  2. Dim CNN As ADODB.Connection
  3. Dim R As ADODB.Recordset
  4. Dim s As String, ra As String
  5. If MsgBox("Сохранить внесённые изменения ?", vbExclamation + vbYesNo) = vbNo Then
  6. Exit Sub
  7. End If
  8. On Error GoTo ошибка
  9. Set CNN = New ADODB.Connection
  10. CNN.ConnectionString = ADO
  11. DoCmd.Hourglass True
  12. CNN.CommandTimeout = 300
  13. CNN.Open
  14. CNN.BeginTrans
  15. Set R = New ADODB.Recordset
  16. R.Open "SELECT * " _
  17. & "FROM temp_tabl1", CurrentProject.Connection, adOpenDynamic
  18. Do While Not R.EOF
  19. ra = "[План] = " & R!План & " " & vbCrLf
  20. If Not IsNull(R!План) Then ra = ra & ",[План] = '" & Nz(R!План, Null) & "' " & vbCrLf
  21. s = "UPDATE dbo.tabl2 " & _
  22. "SET " & ra & _
  23. "WHERE Номер_склада = " & R!Номер_склада And Код_пользователя = " & R!Код_пользователя AND ShipFrom = " & R!ShipFrom And Код_плана = " & R!Код_плана"
  24. MsgBox s
  25. CNN.Execute (s)
  26. R.MoveNext
  27. Loop
  28. CNN.CommitTrans
  29. R.Close
  30. Set R = Nothing
  31. CNN.Close
  32. Set CNN = Nothing
  33. DoCmd.Hourglass False
  34. ошибка:
  35. CNN.RollbackTrans
  36. MsgBox erR.Number & ":" & erR.Description, vbCritical
  37. DoCmd.Hourglass False
  38. End Sub

Решение задачи: «Ошибка 13:Type mismatch»

textual
Листинг программы
  1. Private Sub Кнопка36_Click()
  2.  
  3. If MsgBox("....?", vbExclamation + vbYesNo) = vbYes Then
  4.     ' сохранение записей
  5.    Dim CNN As ADODB.Connection
  6.     Dim R As ADODB.Recordset
  7.     On Error GoTo ошибка
  8.    
  9.     [Form_Картотека].bChange = True
  10.     Set CNN = New ADODB.Connection
  11.     CNN.ConnectionString = ADO
  12.    
  13.     DoCmd.Hourglass True
  14.    
  15.     CNN.CommandTimeout = 300
  16.     CNN.Open
  17.     CNN.BeginTrans
  18.     Set R = New ADODB.Recordset
  19.     R.Open "SELECT .....", CurrentProject.Connection, adOpenDynamic
  20.    
  21.     Dim s As String, ra As String
  22.    
  23.     Do While Not R.EOF
  24.         s = "INSERT INTO ....."
  25.          ra = "[Порядок_сорт] = " & Nz(R!Порядок_сорт, 0) & "," & vbCrLf & _
  26.                  "[Ввод] = " & IIf(R!Ввод, 1, 0) & "," & vbCrLf
  27.          If Not IsNull(R!Номер) Then ra = ra & ",[Номер = '" & Nz(R!Номер, Null) & "' " & vbCrLf
  28.          s = "UPDATE ...."
  29.        
  30.         'MsgBox s
  31.        CNN.Execute (s)
  32.      
  33.         R.MoveNext
  34.     Loop
  35.    
  36.     CNN.CommitTrans
  37.    
  38.     R.Close
  39.     Set R = Nothing
  40.     CNN.Close
  41.     Set CNN = Nothing
  42.    
  43.     DoCmd.Hourglass False
  44.  
  45. End If
  46.  
  47. Exit Sub
  48. ошибка:
  49. CNN.RollbackTrans
  50. MsgBox erR.Number & ":" & erR.Description, vbCritical
  51. DoCmd.Hourglass False
  52. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут