jeg har et excelark med 20 kolonner der skal indsættes i en tilsvarende tabel i access med 20 felter. der er 4000 rækker i excelarket. Problemet er at nogle at kolonnerne er tomme og det resultere i at der opstår en fejl i min sqlsætning. min VBA kode er skrevet i en excel makro som f.eks. her (bare med 3 koloner):
hvis nu f.eks. Cells(i, 3) er tom så skriver den at "datatyperne stemmer ikkeoverens i kriterieudtrykket" men hvis der står noget i alle 3 kolonner hele vejen nej så virker den perfekt.
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
Slettet bruger
26. maj 2009 - 11:22#1
Hvis Fondskode er et tal, skal du ikke have enkeltgnyffer omkring Cells(i,2).
Når du indsætter en dato, skal du huske havelågerne (#)omkring Cells(i,3) - hvis det er et datofelt - og så skal du huske at anvende det SQL-venlige datoformat mm/dd/yy
Prøv ligeledes at sæt egenskaben TilladNullængde til Ja og egenskaben Obligatorisk til Nej i tabeldesign
Ellers prøv denne:
Dim Cell1 as Variant Dim Cell2 as Variant Dim Cell3 as Variant
Normally inserting requires '2009/05/26' and not #2009/05/26#
Cell3=Nz(Cells(i,3),0)
Isnt this going to give problems with the insert in to a date field?
'0'
I would suggest building your sql dynamically. For the fields containing no data and which arent required, such as your dato field then dont include them in the insert. Otherwise you should give them a default value.
fordi at der er 4000 rækker og i række et er det måske kolonne 3,6 og 10 der er tom og i række 2 er det kolonne 5,8 og 17 der er tom osv. der er 3 dato kolonner og 13 tal kolonner som skal være tomme og ikke 0. da der er forskel på om de er tomme eller om der står 0
Jeg mener bare at f.eks i række 13 så er det kun 13 kolonner der skal ind i databasen og i række 14 er det måske 18 rækker der skal ind og række 15 er det 3 rækker osv. hvordan løses det?
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.