Jeg forstår ikke du har en select i insert into..:
Normalt skriver man true/1 eller false/0 eks på indsætte true: db.Execute "insert into placering(vandret) values (true)" db.Execute "insert into placering(vandret) values (1)"
Så din kode bliver:
db.Execute "insert into placering(vandret) values (" & vandret & ")"
jeg er ikke helt sikker på hvad du mener, men du kunne jo lave en 'if then else' istedet, når det nu er det der virker... ex.
Dim Exec1 Exec1 = "INSERT INTO placering(vandret) SELECT " if vandret = true then Exec1 = Exec1 & "'true'" else Exec1 = Exec1 & "'false'" end if db.Execute Exec1
Jeg har desværre ikke mulighed for at prøve det nu, da jeg er på kursus, men når jeg kommer hjem på mandag skal jeg nok give det en chance. Det lyder som den rigtig forklaring.
Jeg tror ikke at der er noget galt med adgangen til databasen. Jeg indsætter andre variabler i samme sætning, og det virker okay. Det er kun den variabel med den boolean værdi at den ikke får ført rigtigt over. Jeg skal prøve msgbox'en når jeg kommer hjem(Er på arbejde nu). Tak for interessen i øvrigt.
Jeg har prøvet at indsætte 1 istedet for variablen, og så virker det, men det er jo ikke helt det der er hensigten. Jeg kan godt sætte variablen til 1 eller 0, men den får stadig værdien true eller false, hvilket i princippet jo er det samme. Du får lige et svar på MsgBox SQL når jeg kommer hjem.
Jeg har tænkt samme tanke selv. Jeg bruger desværre access(XP), og det kan da godt tænkes at den ikke forstår den "advancerede" SQL sætning. Har du mulighed for selv at lave en test op imod en access database?
>>Nielle: God ide. >>xfox: Access kan sagtens håndtere din SQL - Men jeg ville måske overveje at kigge på MSDE (en gratis mini SQL-server til max. 2 GB data) hvis du er ked af access.
Det lader til at der er et "lille" problem med at overføre en boolean værdi til access. Jeg har dog, med jeres inspiration, fundet et smuthul. Hvis man giver en boolean variabel værdien "1" bliver variablens værdi "true". Hvis man istedet for laver en string variabel og giver den værdien "1" holder den værdien(altså "1") og kan derfor bruges til at overfører boolean værdier til access. Det undre mig dog at den ikke fejler pga. forskellige datatyper, men det er vel en anden sag. I skal alle have mange tak for hjælpen.
Der er såmen ingen grund til at undre sig. Idet at du konstruere din SQL streng bliver det altsammen lavet om til - ja - en streng! Uanset om det er tekst, tal, dato eller boolean for den skyld. Når du så derefter eksekvere SQL sætningen bliver de konverteret videre til databasens interne format.
Okay. Det giver jo et nyt perspektiv til SQL programmering.
Synes godt om
Ny brugerNybegynder
Din løsning...
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.