#1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6
Default VBA syntax

I keep getting a runtime error stating a syntax error converting the varchar
value ' & CellValue1 & ' to a column of datatypr int. The value is 1 and my
SQL table in dataType Integer. I have also tried with various removal of '
and & from the insert statement. Any ideas of the correct syntax?

Private Sub btnUpdate_Click()

Dim c As ADODB.Connection
Dim r As ADODB.Recordset
Set c = New ADODB.Connection
Dim rw As Integer
Dim cellValue1 As Integer
Dim cellValue2 As String
Dim ws As Worksheet

strCn = "Server=ServerName;Database=dbName;User Id=mm;password=ma"

c.Provider = "sqloledb"
c.Open strCn

rw = 1
Do While Len(Cells(rw, 1)) 0

Set ws = Sheets("Pivot")

cellValue1 = ws.Range("A" & rw).Value
cellValue2 = ws.Range("B" & rw).Value

MsgBox (cellValue1)
MsgBox (cellValue2)

sq = "Insert into marc_temp_excel (Policy_id, Policy_desc) values
('& cellValue1 &', ' & cellValue2 & ')"

Set r = c.Execute(sq)
rw = rw + 1
Loop

c.Close
Set c = Nothing
MsgBox ("marc_temp_excel Table Successfully Updated.")
End Sub

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,272
Default VBA syntax

You need

sq = "Insert into marc_temp_excel (Policy_id, Policy_desc) values ('" & _
cellValue1 &"', '" & cellValue2 & "')"


--

HTH

RP
(remove nothere from the email address if mailing direct)


"marcmc" wrote in message
...
I keep getting a runtime error stating a syntax error converting the

varchar
value ' & CellValue1 & ' to a column of datatypr int. The value is 1 and

my
SQL table in dataType Integer. I have also tried with various removal of '
and & from the insert statement. Any ideas of the correct syntax?

Private Sub btnUpdate_Click()

Dim c As ADODB.Connection
Dim r As ADODB.Recordset
Set c = New ADODB.Connection
Dim rw As Integer
Dim cellValue1 As Integer
Dim cellValue2 As String
Dim ws As Worksheet

strCn = "Server=ServerName;Database=dbName;User Id=mm;password=ma"

c.Provider = "sqloledb"
c.Open strCn

rw = 1
Do While Len(Cells(rw, 1)) 0

Set ws = Sheets("Pivot")

cellValue1 = ws.Range("A" & rw).Value
cellValue2 = ws.Range("B" & rw).Value

MsgBox (cellValue1)
MsgBox (cellValue2)

sq = "Insert into marc_temp_excel (Policy_id, Policy_desc) values
('& cellValue1 &', ' & cellValue2 & ')"

Set r = c.Execute(sq)
rw = rw + 1
Loop

c.Close
Set c = Nothing
MsgBox ("marc_temp_excel Table Successfully Updated.")
End Sub



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2,718
Default VBA syntax

sq = "Insert into marc_temp_excel (Policy_id, Policy_desc) values
('& cellValue1 &', ' & cellValue2 & ')"

Since the above is all in a double quote all variables are taken as string
literals. I have no way to test this but you should do something like this
I would guess:

sq = "Insert into marc_temp_excel (Policy_id, Policy_desc) values (" &
cellValue1 & ", " & cellValue2 & ")"

You'll have to fine-tune this but the point is not to enclose variables in
quotes.

--
Jim
"marcmc" wrote in message
...
|I keep getting a runtime error stating a syntax error converting the
varchar
| value ' & CellValue1 & ' to a column of datatypr int. The value is 1 and
my
| SQL table in dataType Integer. I have also tried with various removal of '
| and & from the insert statement. Any ideas of the correct syntax?
|
| Private Sub btnUpdate_Click()
|
| Dim c As ADODB.Connection
| Dim r As ADODB.Recordset
| Set c = New ADODB.Connection
| Dim rw As Integer
| Dim cellValue1 As Integer
| Dim cellValue2 As String
| Dim ws As Worksheet
|
| strCn = "Server=ServerName;Database=dbName;User Id=mm;password=ma"
|
| c.Provider = "sqloledb"
| c.Open strCn
|
| rw = 1
| Do While Len(Cells(rw, 1)) 0
|
| Set ws = Sheets("Pivot")
|
| cellValue1 = ws.Range("A" & rw).Value
| cellValue2 = ws.Range("B" & rw).Value
|
| MsgBox (cellValue1)
| MsgBox (cellValue2)
|
| sq = "Insert into marc_temp_excel (Policy_id, Policy_desc) values
| ('& cellValue1 &', ' & cellValue2 & ')"
|
| Set r = c.Execute(sq)
| rw = rw + 1
| Loop
|
| c.Close
| Set c = Nothing
| MsgBox ("marc_temp_excel Table Successfully Updated.")
| End Sub
|


Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
vba syntax Derrick Excel Discussion (Misc queries) 11 August 5th 09 08:37 PM
VBA syntax Derrick Excel Discussion (Misc queries) 6 August 5th 09 05:01 PM
IRR Syntax Bruce Excel Worksheet Functions 1 July 13th 07 09:02 PM
Syntax help! Mike Fogleman Excel Programming 20 July 30th 05 01:11 PM
SQL syntax Jeffiec Excel Programming 1 June 14th 05 05:47 PM


All times are GMT +1. The time now is 09:41 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"