ďťż
Lemur zaprasza
Strona: [ > ] z 1 Autor Temat: długie zapytania sql w vba excela anonim Typ: Nie zarejestrowany długie zapytania sql w vba excela Witam serdecznie wszystkich grupowiczów Mam taki oto problem, jest zapytanie do bazy sql: With ActiveSheet.QueryTables.Add(Connection:= _ "ODBC;DSN=consum;UID=sa;PWD=;APP=Microsoft Office XP;WSID=PEPSI;LANGUAGE=polski" _ , Destination:=Range("A18" .CommandText = Array( _ "SELECT TraNag.TrN_PodID, Sum(TraElem.TrE_Ilosc) AS 'Suma z TrE_Ilosc' FROM .CDN.TraElem TraElem, .CDN.TraNag TraNag WHERE TraElem.TrE_TrNId = TraNag.TrN_TrNID AND ((TraElem.TrE_D" _ , _ "ataOpe>={ts '" & PoczMies & " 0000'}) AND (TraElem.TrE_DataOpe<={ts '" & KonMies & " 0000'}) AND (TraNag.TrN_KatID=" & Przedstawiciel & " AND (TraElem.TrE_TwrId In (" & _ _ TabAgr1(1) & _ _ " AND (TraNag.T" _ , "rN_TypDokumentu In (302,305))) GROUP BY TraNag.TrN_PodID" .Name = "Kwerenda z consum_355" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = False .RefreshStyle = xlOverwriteCells .SavePassword = True .SaveData = True .AdjustColumnWidth = False .RefreshPeriod = 0 .PreserveColumnInfo = True .Refresh BackgroundQuery:=False End With w zmiennej tablicowej TabArg1(1) podstawiam string do zapytania, ale jeśli ten string jest dłuższy niż 97 znaków to zapytanie wypada z błędem, jeśli jest krutsze lub równe wszystko działa, a niestety muszę takie stringi podstawiać. Jak sobie z tym poradzić, ja nie wiem oco tu chodzi? Marek 18-06-2003 18:37 losmac "profesorek" Typ: neutral Postów: 758 Zarejestrowany: May 2003 bazy sql jesli jest to baza Accessa to nie ma problemu. Sub Zapytanie() Dim BazaName As String = "" 'sciezka dostepu do bazy Dim strzap As String = "" 'twoje zapytanie Dim i As Long, j As Long, ileWier As Long, ileKol As Long Dim dbs As Database Dim rst As Recordset Set dbs = OpenDatabase(BazaName) Set rst = dbs.OpenRecordset(strzap) With rst If .RecordCount > 0 Then .MoveLast .MoveFirst ileWier = .RecordCount ileKol = .Fields.Count For i = 0 To ileWier - 1 For j = 0 To ileKol - 1 Arkusz1.Cells(i, j) = .Fields(j).Value Next j .MoveNext Next i Else MsgBox "Ktoś usunął dane z bazy!!!", vbExclamation, "Uwaga!!!" End If .Close End With Set rst = Nothing dbs.Close Set dbs = Nothing Exit Sub Err_GetRecordsFromBaza: MsgBox Err.Description, vbCritical, "Błąd nr " & Err.Number dbs.Close Set dbs = Nothing rst.Close Set rst = Nothing End Sub _____________________________________________ POSTULATY STARUSZKA: 1) Ludzie, dbajcie o polszczyznę!!! 2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!! Powodzenia Maciej Łoś 22-09-2003 19:33 Wszystkich odpowiedzi: 1 :: Maxymalnie na stronę: 20 Strona: [ > ] z 1 |