INSERT INTO ADO ODBC

manu
Member Posts: 4
Nearly finished with a small project I am working on to export attachments from Outlook directly into Navision. Through
the Navision ODBC I can SELECT, UPDATE sucsessfully but I cannot seem to INSERT rows into the database.
The code which is supposed to do this follows:
DocID = GetNextNumber()
strImagePath = Trim$(FileNamePath)
Dim bytBLOB() As Byte
sConnPar = "DSN=Outlook"
Set cnData = CreateObject("adodb.connection")
Set rsDocument = CreateObject("adodb.recordset")
cnData.Open sConnPar
rsDocument.Open "SELECT * FROM Dokument WHERE ""No.""='D'", cnData, 2, 3
With rsDocument
.Addnew
.fields("No.") = DocID
.fields("Modified Date") = Date
.fields("Batch") = True
.fields("Sales Document Type") = "0"
.fields("Purchase Document Type") = "0"
.fields("Prospect No.") = Prospektnr
'Open the picture file
intNum = FreeFile
Open strImagePath For Binary As #intNum
ReDim bytBLOB(FileLen(strImagePath))
'Read data and close file
Get #intNum, , bytBLOB
Close #1
'Store the BLOB
.fields("Innehåll").AppendChunk bytBLOB
.Update
End With
Set rsDocument = Nothing
cnData.Close
Set cnData = Nothing
Every time I run this I get an
lexical element expected: )
error message.
The ODBC connection is set to allow
BLOB fields and read only is turned off.
Any good ideas anyone?
PS: I am not much of a navision developer.
Many thanks in advance
Manuel Fraga
the Navision ODBC I can SELECT, UPDATE sucsessfully but I cannot seem to INSERT rows into the database.
The code which is supposed to do this follows:
DocID = GetNextNumber()
strImagePath = Trim$(FileNamePath)
Dim bytBLOB() As Byte
sConnPar = "DSN=Outlook"
Set cnData = CreateObject("adodb.connection")
Set rsDocument = CreateObject("adodb.recordset")
cnData.Open sConnPar
rsDocument.Open "SELECT * FROM Dokument WHERE ""No.""='D'", cnData, 2, 3
With rsDocument
.Addnew
.fields("No.") = DocID
.fields("Modified Date") = Date
.fields("Batch") = True
.fields("Sales Document Type") = "0"
.fields("Purchase Document Type") = "0"
.fields("Prospect No.") = Prospektnr
'Open the picture file
intNum = FreeFile
Open strImagePath For Binary As #intNum
ReDim bytBLOB(FileLen(strImagePath))
'Read data and close file
Get #intNum, , bytBLOB
Close #1
'Store the BLOB
.fields("Innehåll").AppendChunk bytBLOB
.Update
End With
Set rsDocument = Nothing
cnData.Close
Set cnData = Nothing
Every time I run this I get an
lexical element expected: )
error message.
The ODBC connection is set to allow
BLOB fields and read only is turned off.
Any good ideas anyone?
PS: I am not much of a navision developer.
Many thanks in advance
Manuel Fraga
0
Comments
-
Hi,
I think your problem is, that your opening a selection, where you hardly can add a new record, so open a real table.
e.g. rsDocument.Open "YourTableName", cnData, 2, 3, 2 (the last parameter (2) indicated to deal with a tablename0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions