Avatar billede aksma Praktikant
15. februar 2006 - 11:44 Der er 2 kommentarer og
1 løsning

Ugyldig tegnværdi for angivelse af ændring i kolonnenr.

Hej!

Er der nogen, der ved, hvorfor ODBC-driveren returnerer ovenstående fejlmelding, når jeg importerer fra en forespørgsel til Excel i en pivottabel. Jeg importerer fra access et talfelt, der indheholder beløb. Access henter dataene i SQL, og jeg har ikke lavet nogen formatændring.

Jeg har importeret den næsten den samme forespørgsel i eta ndet ark uden problemer. Jeg har så indføjet en formel i et felt, men ikke det, der fejler, og nu returnerer odbc-driveren denne fejl???

Aksma
Avatar billede Slettet bruger
16. februar 2006 - 10:19 #1
Det ligner umiskendeligt en komma/punktum-fejl - dvs. en fejl der opstår, fordi du håndterer decimaltal og bruger komma som decimaltegn. Er det rigtigt ?
Hvis det er det, skal du konvertere komma til punktum undervejs.
Jeg har en lille stump kode, der er fast ingrediens i alle mine løsninger:

Function Retkom(DecTal As Variant)
Dim Ln, Pos As Long
   
    '*** Retter komma til punktum i decimaltal
    '*** Desværre nødvendigt når man anvender SQL i VBA
    '*** Microsoft har ikke lavet det således, at den læser localeID fra RegionalSettings
    '*** og vælge den rette tegnsætning
    '*** så i alle decimaltal skal ,(komma) ændres til .(punktum)
   
   
    Pos = InStr(1, DecTal, ",")
    Ln = Len(DecTal) - (Pos)
   
    If Pos > 0 Then
        Retkom = Mid(DecTal, 1, Pos - 1) & "." & Mid(DecTal, Pos + 1, Ln)
    Else
        Retkom = DecTal
    End If
       
End Function

Og når du så indsætter værdierne, skal du tilrette din forespørgsel således  "INSERT INTO ..... RetKom(FeltHvoriDerErTalMedDecimalkomma) ....

Denne funktion er helt nødvendig, hvis du i VBA eksekverer SQL kommandoer, der indsætter decimaltal i en tabel.

Hvis der er nogen der ved noget andet, hører jeg gerne.
Avatar billede aksma Praktikant
16. februar 2006 - 11:39 #2
hej Schlamovitz.

du har sikkert ret i, at jeg anvender komma i stedet for punktum. Jeg henter et kartotek fra en sql-database over i access, bearbejer den via forespørgsler og laver derefter en dataimport til en pivottabel i Excel. Det, der undrer mig, at det ikke er en konstant fejl, men at den kun dukker op engang imellem. Min mistanke går på, at der måske er nogen, der er ved at tilføje data til sql-databasen og at forespørgsel så får fat i en ufuldstændig information.

Hvor ville du indsætte kodestrengen i access eller excel eller query?

Aksma
Avatar billede Slettet bruger
16. februar 2006 - 12:30 #3
Det kommer helt an på, hvordan du henter data.
Hvis data ligger i MS SQL og skal anvendes i Excel, hvorfor så hente dem via Access ?
Havner data i en MS Access tabel og sker der nogen form for behandling af data i Access ?
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester