ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Type mismatch when copy empty cell to Access database (https://www.excelbanter.com/excel-programming/390367-type-mismatch-when-copy-empty-cell-access-database.html)

Angus

Type mismatch when copy empty cell to Access database
 
I got a code to write data from Excel to Access database, but got a "Type
mismatch" when copy cell B2 to "Dispatch_date" field in database, if B2 is
empty. The setting of "dispatch_date" in database requires no input. Please
help.

Sub ADOWritedata()

Dim cn As ADODB.Connection, rs As ADODB.Recordset, r As Long

Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Source=C:\Documents and
Settings\zi38610\Desktop\MIQ\Data\MIQ.mdb;"

Set rs = New ADODB.Recordset
rs.Open "Billing_Port_Forwarder_Charge", cn, adOpenKeyset,
adLockOptimistic, adCmdTable

r = 2 ' the start row in the worksheet
Do While Len(Range("A" & r).Formula) 0
With rs
.AddNew ' create a new record
.Fields("Deal_number") = Trim(Range("A" & r).Value)
.Fields("Dispatch_date") = Trim(Range("B" & r).Value)
.Update ' stores the new record
End With
r = r + 1 ' next row
Loop
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub

Tom Ogilvy

Type mismatch when copy empty cell to Access database
 
Sub ADOWritedata()

Dim cn As ADODB.Connection, rs As ADODB.Recordset, r As Long

Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Source=C:\Documents and
Settings\zi38610\Desktop\MIQ\Data\MIQ.mdb;"

Set rs = New ADODB.Recordset
rs.Open "Billing_Port_Forwarder_Charge", cn, adOpenKeyset,
adLockOptimistic, adCmdTable

r = 2 ' the start row in the worksheet
Do While Len(Range("A" & r).Formula) 0
With rs
.AddNew ' create a new record
.Fields("Deal_number") = Trim(Range("A" & r).Value)
if len(trim(Range("B" & r).Text)) 0 then _
.Fields("Dispatch_date") = Trim(Range("B" & r).Value)
.Update ' stores the new record
End With
r = r + 1 ' next row
Loop
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub

--
Regards,
Tom Ogilvy

"Angus" wrote:

I got a code to write data from Excel to Access database, but got a "Type
mismatch" when copy cell B2 to "Dispatch_date" field in database, if B2 is
empty. The setting of "dispatch_date" in database requires no input. Please
help.

Sub ADOWritedata()

Dim cn As ADODB.Connection, rs As ADODB.Recordset, r As Long

Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Source=C:\Documents and
Settings\zi38610\Desktop\MIQ\Data\MIQ.mdb;"

Set rs = New ADODB.Recordset
rs.Open "Billing_Port_Forwarder_Charge", cn, adOpenKeyset,
adLockOptimistic, adCmdTable

r = 2 ' the start row in the worksheet
Do While Len(Range("A" & r).Formula) 0
With rs
.AddNew ' create a new record
.Fields("Deal_number") = Trim(Range("A" & r).Value)
.Fields("Dispatch_date") = Trim(Range("B" & r).Value)
.Update ' stores the new record
End With
r = r + 1 ' next row
Loop
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub



All times are GMT +1. The time now is 05:35 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com