29. august 2005 - 16:17Der er
19 kommentarer og 1 løsning
Insert i navision
Hej
Jeg skal indsætte nogle poster via visual basic til Navision. Det virker fint nok for de fleste af felterne, men så snart feltet er delt i mere end eet ord, går det galt. Min insert ser således ud:
Den kan måske se lidt uoverskuelig ud, men virker fint når jeg ikke forsøger at indsætte feltet [Sag modtaget den] Jeg har selvfølgelig prøvet uden [] og med '' istedet, samt helt uden omkransning, intet virker.
-->Terry, jeg har forsøgt at tage tabellen ind i Access. Her fremstår feltnavnet delt i 3, og jeg kan inserte uden problem (Access bruger [] og så virker det her...).
Jeg vil prøve senere på dagen om det blot er datoafgrænser # der mangler, og vender tilbage med info.
# virker ikke. _ i feltnavnet virker heller ikke. Det virker som om, at den slet ikke kan genkende feltet. Jeg har også prøvet med Sag.[Sag modtaget den] Men det virker heller ikke. Jeg kan selvfølgelig helt undlade at angive felterne og blot angive værdier, men der er rigtig rigtig mange felter i tabellen...
Jeg forsøger at se hvorledes de enkelte felter ser ud i VB. Jeg har prøvet i Access, men her ser de alt for fine ud (kan godt finde ud af flere ord i felt). I VB forsøger jeg at se feltnavnene således:
sqltext = "Select * from Sag where Sagsnr_ = '12-001'" cmd.CommandText = sqltext Set T = cmd.Execute
Dim i As Integer For i = 1 To 100 ' T.Fields.Count Debug.Print "Felt:--->" & T.Fields(i) & "<----" Next i
Men jeg får bare værdier ud?? Er det ikke den rigtige måde?
Which says> The user has specified a SQL statement that is not syntactically correct.
So you say that without the date field it works OK, but with the date field it fails?
Is it possible to alter the field name WITHOUT spaces? Or maybe create a new table with a date field just for testing to see if it the date format which is incorrect?
You can normally insert without giving the field names, but you then have to make sure that the number of fields and the type mtch those for the table.
Jeg er nået frem til, at problemet skyldes at felterne er delt i mere end ét ord (f.eks sag modtaget). Normalt vil jeg bruge [sag modtaget] syntaks, men den bliver ikke godtaget af navision ODBC driveren. Den siger at den ikke kan finde feltet. Jeg har også forsøgt mig med 'sag modtaget', men så returneres blot teksten 'sag modtaget', hvilket jeg jo selvsagt ikke kan bruge til noget. Er der nogle der har en ide til hvorledes jeg kan trække data fra navision hvor feltet består af mere end ét ord?
Fandt en løsning... Problemet er, at navision vil have feltet indrammet i "gåseøjn" (via shift + F2). Da det ikke kan gøres i vb uden at systemet tror man afslutter teksten, skal man oprette tegnet med chr(34) istedet.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.