14. august 2006 - 16:20Der er
7 kommentarer og 1 løsning
SQL query - max 255 chars
Hej,
Jeg bruger nedenstående i en macro til at hente data fra en Oracle database. Problemmet opstår når min sql statement ikke kan være mere end 255 chars lang. Nogen der har en workaround ?
Excel 2002 (ver10) OS: XP sp2
//akj
' database connection object Set conn = CreateObject("ADODB.Connection")
There are two kinds of strings: variable-length and fixed-length strings.
* A variable-length string can contain up to approximately 2 billion (2^31) characters. * A fixed-length string can contain 1 to approximately 64K (2^16) characters.
Det skulle vist være rigeligt til den sql streng. Det må være den måde du opbygger strengen. Gør du det virkeligt sådan som du viser det ved en simpel assignment, eller sker det ved en serie af delsammensætninger? Måske er det en af de funktioner du bruger...?
Du angiver, at du laver en dim først. Hvis du ikke havde gjort det, var en mulighed også, at du "arver" en variabel som er defineret til 255 tegn (dim sql as string * 255) fra modulniveau.
Hmm... Det er faktisk svært at "fjerndebugge" sådan et problem. Især uden den helt aktuelle kode at kigge på.
Havde ikke lige koden da jeg oprettede svarede 19.55 da det lå på arbejde, har lige hentet sql'en:
Dim ls As string ls = "SELECT XAL_SUPERVISOR.SALESTRANS.SHIPMENTDATE, XAL_SUPERVISOR.SALESTRANS.SHIPMENT_NO, XAL_SUPERVISOR.SALESTABLE.SALESNUMBER, XAL_SUPERVISOR.DEBTABLE.NAME" & _ " FROM XAL_SUPERVISOR.DEBTABLE DEBTABLE, XAL_SUPERVISOR.SALESTABLE SALESTABLE, XAL_SUPERVISOR.SALESTRANS SALESTRANS" & _ " WHERE (XAL_SUPERVISOR.SALESTRANS.DATASET=XAL_SUPERVISOR.SALESTABLE.DATASET And XAL_SUPERVISOR.SALESTRANS.DATASET='ABC') AND (XAL_SUPERVISOR.SALESTABLE.DATASET=XAL_SUPERVISOR.DEBTABLE.DATASET) AND (XAL_SUPERVISOR.SALESTRANS.SALESNUMBER=XAL_SUPERVISOR.SALESTABLE.SALESNUMBER) AND (XAL_SUPERVISOR.SALESTABLE.DEBTORACCOUNT=XAL_SUPERVISOR.DEBTABLE.ACCOUNTNUMBER) AND ((XAL_SUPERVISOR.SALESTRANS.SHIPMENTDATE)>=sysdate-1)" & _ " ORDER BY XAL_SUPERVISOR.SALESTRANS.SHIPMENTDATE"
Gerne, men det er nu mærkeligt, at du ikke kan se hele strengen i debuggeren. Det kan jeg godt. Men som sagt, det er to forskellige udgaver af programmet vi bruger... Måske skulle du tjekke Windows Update / Office Update?
Min version er fuldt opdateret men den lille bug kan jeg godt leve med. Jeg sætter bare en msgbox ind hvis len>255.
//akj
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.