Avatar billede mile Juniormester
22. september 2009 - 14:55 Der er 7 kommentarer og
1 løsning

Brug af vildcard i SQL statement mellem Excel og Access

Brug af vildcard i SQL statement mellem Excel og Access
Jeg kan ikke få følgende statement til at fungere i Excel 2007:
SELECT P3.EQU_ID_OPT, P1.EQU_ID, P4.EQU_ID, P2.EQU_ID, P.EQU_ID, P6.EQU_ID, P7.EQU_ID, P5.EQU_ID, P8.EQU_ID, P10.EQU_ID, P11.EQU_ID, P9.EQU_ID, P13.EQU_ID, P14.EQU_ID, P12.EQU_ID
FROM `C:\Documents and Settings\zst\My Documents\BAM\Config_BAM`.`Hent BAM`
WHERE P3.EQU_ID_OPT Like 'XX.*'

hvorimod dette virker:
SELECT P3.EQU_ID_OPT, P1.EQU_ID, P4.EQU_ID, P2.EQU_ID, P.EQU_ID, P6.EQU_ID, P7.EQU_ID, P5.EQU_ID, P8.EQU_ID, P10.EQU_ID, P11.EQU_ID, P9.EQU_ID, P13.EQU_ID, P14.EQU_ID, P12.EQU_ID
FROM `C:\Documents and Settings\zst\My Documents\BAM\Config_BAM`.`Hent BAM`
WHERE P3.EQU_ID_OPT Like 'XX.Boligsikring.Prod'

Koden ser således ud:

With ThisWorkbook.Worksheets(arknavn).QueryTables.Add(Connection:=Array(Array( _
        "ODBC;DSN=MS Access-database;DBQ=C:\Documents and Settings\zst\My Documents\BAM\Config_BAM.mdb;Mode=Share Deny None;DefaultDir=C:\Documents and Settings\zst\My Documents\BAM\Config_BAM.mdb" _
        ), Array("op;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;")), _
        Destination:=Range("A1"))
       
        .CommandText = "SELECT P3.EQU_ID_OPT, P1.EQU_ID, P4.EQU_ID, P2.EQU_ID, " & _
        "P.EQU_ID, P6.EQU_ID, P7.EQU_ID, P5.EQU_ID, P8.EQU_ID, P10.EQU_ID, " & _
        "P11.EQU_ID, P9.EQU_ID, P13.EQU_ID, P14.EQU_ID, P12.EQU_ID" _
        & Chr(13) & "" & Chr(10) & "FROM `C:\Documents and Settings\zst\My Documents\BAM\Config_BAM`.`Hent BAM`" _
        & Chr(13) & "" & Chr(10) & "WHERE P3.EQU_ID_OPT Like '" & CI & "'"
   
        .Name = "Forespørgsel fra MS Access-database"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        Debug.Print .CommandText
        .Refresh BackgroundQuery:=False
    End With

Håber nogen har et godt input til hvor fejlen ligger.
Avatar billede terry Ekspert
22. september 2009 - 15:16 #1
Have you tried

Like 'XX*'
Avatar billede terry Ekspert
22. september 2009 - 15:20 #2
Actualy i Access

XX.* should work. If XX* doesnt work then try using
% instead of *
Avatar billede mile Juniormester
23. september 2009 - 09:55 #3
Virker desværre ikke. Andre forslag modtages gerne.
Avatar billede terry Ekspert
23. september 2009 - 10:21 #4
If you paste the SQL directly into Access does it work? If it doesnt then try modifying the SQL inside Access until it does.
Avatar billede mile Juniormester
23. september 2009 - 13:43 #5
It works fine directly in Access
Avatar billede terry Ekspert
23. september 2009 - 14:13 #6
So I dont see why it shouldnt from Excel
Avatar billede mile Juniormester
30. oktober 2013 - 10:00 #7
will close this - thanks Terry
Avatar billede terry Ekspert
30. oktober 2013 - 10:42 #8
Thank you too :-)
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