09. august 2010 - 12:13Der er
10 kommentarer og 1 løsning
Insert null value i oracle database via vba ado
Hej
Jeg har 25 kolonner i et excel ark jeg gerne vil indsætte i en oracle database. Mit problem er at hvis der i nogle af kolonnerne er tomme felter så fejler min insert into sql. Min sql ser f.eks. sådan ud (simpel udgave): rapCon.Execute ("INSERT INTO tb_hovedtal_test (PERIODENS_AFKAST_PROCENT) values (" & Cells(i, 2) & ")")
hvis så der kommer en række hvor der ikke er nogle værdi siger den: "ora_00936-manglende udtryk"
Så er problemet at to dobbeltplinger lige efter hinanden betyder noget andet og dermed afbrydes din statement midt i det hele. Det har altså intet med selve din streng at gøre, men fortolkningen af den efterfølgende. Jeg er ret sikker på at du slipper for problemet hvis du udskifter de inderste dobbeltplinger med enkeltplinger.
hvis jeg jeg en msgbox på min sql string så er værdien bare tom, men hvis jeg skal indsætte en null værdi i en database skal jeg jo skrive null. for at lave et eksempel:
den her virker ikke:
insert into tb_test (por) values()
men den her gør
insert into tb_test (por) values(null)
og hvis jeg skriver bare tager en cells(1,1) hvor cellen er tom, så står der jo "" og ikke null?
Det betyder jo så at hvis du laver de to inderste dobbeltplinger om til enkeltplinger skulle din kode virke og danne den korrekte insert statement uanset om cells(x,y) giver en værdi eller ej.
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.