Thread View: pl.comp.bazy-danych.msaccess
2 messages
2 total messages
Started by alex andryt
Sat, 06 Feb 2016 19:29
ACCESS 2003 - kwerenda parametryczna - rzęsy na czole :)
Author: alex andryt
Date: Sat, 06 Feb 2016 19:29
Date: Sat, 06 Feb 2016 19:29
101 lines
5938 bytes
5938 bytes
Mam tą samą funkcję, co poprzednio, udało się ją uruchomić dzięki pomocy Smyk'a.
(https://groups.google.com/forum/#!topic/pl.comp.bazy-danych.msaccess/-B4zj_POFbE)
Zmienia się tylko źródło danych wejściowych,
a zmagam się z nowym ERROR'EM 3061 (Za mało parametrów. Oczekiwano 7).
Ponumerowałem więc wszystkie. Ja widzę ich sześć. Skąd ta siódemka?
Znajdzie ktoś wolną chwilę na wskazówkę?
sql = ""
'blok parametrow:
sql = sql & vbNewLine & " PARAMETERS "
sql = sql & vbNewLine & " [parZadanieID] Long, " '6
sql = sql & vbNewLine & " [parElementTyp] Text (255), " '7
sql = sql & vbNewLine & " [parRola] Text (255), " '8
sql = sql & vbNewLine & " [parUtworzonyPrzez] Text (255), " '9
sql = sql & vbNewLine & " [parDataUtworzenia] DateTime, " '10
sql = sql & vbNewLine & " [parElementMediumTyp] Text (255); " '4
' kwerenda dodajaca
sql = sql & vbNewLine & " INSERT INTO ZadanieRekord "
sql = sql & vbNewLine & " ( IDElementu, " '1
sql = sql & vbNewLine & " Element, " '2
sql = sql & vbNewLine & " Skoroszyt, " '3
sql = sql & vbNewLine & " ElementMediumTyp, " '4
sql = sql & vbNewLine & " ElementMedium, " '5
sql = sql & vbNewLine & " IdZadania, " '6
sql = sql & vbNewLine & " ElementTyp , " '7
sql = sql & vbNewLine & " Rola, " '8
sql = sql & vbNewLine & " UtworzonyPrzez, " '9
sql = sql & vbNewLine & " DataUtworzenia ) " '10
''' SELECT o.IdOsobyFirmy, mfo.IdOsoby, o.Nazwisko, f.Skoroszyt, m.RodzajNosnika, m.NumerWartosc
sql = sql & vbNewLine & " SELECT "
sql = sql & vbNewLine & " o.IdOsobyFirmy, " '1
sql = sql & vbNewLine & " (o.tytul + ' ') & o.Nazwisko & ('' + o.imie), " '2
'' dodaję Skoroszyt 2013-04-07:
sql = sql & vbNewLine & " f.Skoroszyt, " '3
sql = sql & vbNewLine & " m.RodzajNosnika, " '4
sql = sql & vbNewLine & " m.NumerWartosc, " '5
sql = sql & vbNewLine & " [parZadanieID], " '6
sql = sql & vbNewLine & " [parElementTyp], " '7
sql = sql & vbNewLine & " [parRola], " '8
sql = sql & vbNewLine & " [parUtworzonyPrzez], " '9
sql = sql & vbNewLine & " [parDataUtworzenia] " '10
sql = sql & vbNewLine & " FROM "
sql = sql & vbNewLine & " (( OsobaFirmy AS o "
sql = sql & vbNewLine & " INNER JOIN "
sql = sql & vbNewLine & " Firma AS f "
sql = sql & vbNewLine & " ON o.IdFirmy = f.IdFirmy ) "
sql = sql & vbNewLine & " INNER JOIN "
sql = sql & vbNewLine & " MediumFirmaOsoba AS mfo "
sql = sql & vbNewLine & " ON o.IdOsobyFirmy = mfo.IdOsoby ) "
sql = sql & vbNewLine & " INNER JOIN "
sql = sql & vbNewLine & " Medium As m "
sql = sql & vbNewLine & " ON mfo.IdMedium = m.IdMedium "
sql = sql & vbNewLine & " WHERE "
sql = sql & vbNewLine & " f.IdOsobyFirmy In (XXXXXXXX) "
sql = sql & vbNewLine & " AND "
sql = sql & vbNewLine & " m.RodzajNosnika=[parElementMediumTyp]"
'''
sql = sql & vbNewLine & " AND "
sql = sql & vbNewLine & " NOT Exists ( "
sql = sql & vbNewLine & " SELECT * from ZadanieRekord zr "
sql = sql & vbNewLine & " WHERE o.IdOsobyFirmy = zr.IDElementu "
sql = sql & vbNewLine & " AND zr.ElementTyp = 'osoba' "
sql = sql & vbNewLine & " AND zr.IdZadania=[parZadanieID])"
s = fGetIDsFromList(lst, K1)
If Len(s) > 0 Then
sql = Replace(sql, "XXXXXXXX", s)
'' tutaj -->
Debug.Print sql
Set db = CurrentDb
Set qr = db.CreateQueryDef("", sql)
With qr
' (6)
.Parameters("parZadanieID").Value = IdentyfikatorZadania
' (4)
.Parameters("parElementMediumTyp").Value = strNazwaNosnikaMedium
' (7)
.Parameters("parElementTyp").Value = "osoba"
' (8)
.Parameters("parRola").Value = "Adresat"
' (9)
.Parameters("parUtworzonyPrzez").Value = CurrentUser
' (10)
.Parameters("parDataUtworzenia").Value = Now
.Execute dbFailOnError
K2 = qr.RecordsAffected
End With
Re: ACCESS 2003 - kwerenda parametryczna - rzęsy na czole :)
Author: alex andryt
Date: Sat, 06 Feb 2016 20:39
Date: Sat, 06 Feb 2016 20:39
1 lines
1422 bytes
1422 bytes
błąd znaleziony. Jedna literka. zamiast "f.(...)", powinno być "o.(...)".
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads