Article View: pl.comp.bazy-danych.msaccess
Article #137169Re: Access 2010 łączenie kilku kryteriów do kwerendy
From: leku
Date: Mon, 02 May 2016 08:09
Date: Mon, 02 May 2016 08:09
65 lines
3225 bytes
3225 bytes
bo DLookup zwraca Ci Null
wstaw ten kod tutaj i przetestuj:
If IsNull(DLookup("[kryt_pow2]", "Kryteria_3", "[GU] = '" &
strId_kryt & "'")) Then
MsgBox "Brak kryterium = " & strId_kryt
Exit Sub
End If
----------------------------------
Poprawiłem i działa. Dziękuję za pomoc :)
Jako kryterium pierwszego DLookUp zagnieździłem drugi DLookUp bedący źródłem
pola Kryt3
na formularzu. Nie wiem dlaczego jawne odwołanie się do pola Kryt3 zwraca
Null.
Konieczne było jednak formatowanie zwracanego z pierwszego DLookUp kryterium
do kwerendy wg sposobu zaproponowanego przez Macieja.
Jego pierwotny zapis w tabeli Kryteria_3 jest taki
A1 ; B1 ; C1
a zrozumiały dla Accessa jest taki
"A1";"B1";"C1"
Pewnie takie skakanie pomiędzy DLookUp'ami nie jest za bardzo wydajne
ale nie zauważyłem jak na razie negatywnych skutków w mojej bazie.
Private Sub Polecenie37_Click()
Call Filtruj(Kryt3)
End Sub
'---------------------------------------------------------
Private Sub Filtruj(strId_kryt As String)
Dim qryTmp As DAO.QueryDef
Dim sWhere As String
sWhere = DLookup("kryt_pow2", "Kryteria_3", "[GU] ='" & DLookup("[Grupa]",
"Par1") & "'")
If IsNull(DLookup("[kryt_pow2]", "Kryteria_3", "[GU] = '" &
DLookup("[Grupa]", "Par1") & "'")) Then
MsgBox "Brak kryterium = " & DLookup("[Grupa]", "Par1")
Exit Sub
End If
sWhere = String$(1, 34) & Replace(Trim([sWhere]), Chr(59), String$(1, 34) &
Chr(44) & String$(1, 34)) & String$(1, 34)
sWhere = Replace(sWhere, Chr(32) & Chr(34), Chr(34))
sWhere = Replace(sWhere, Chr(34) & Chr(32), Chr(34))
'Usuń tymczasową kwerendę
On Error Resume Next
DoCmd.DeleteObject acQuery, "qTemp"
If Err.Number <> 0 Then Err.Clear
On Error GoTo 0
Set qryTmp = CurrentDb.CreateQueryDef("qTemp", _
"SELECT Imp_temp.* FROM Imp_temp WHERE F14 IN (" & sWhere & ")")
DoCmd.OpenQuery qryTmp.Name, acViewNormal
End Sub
pozdrawiam
leku
Technical Details
Message-ID:
<57270b34$0$684$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin2!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<571b871d$0$641$65785112@news.neostrada.pl> <ng4rbg$b0d$1@node1.news.atman.pl> <57263093$0$22828$65785112@news.neostrada.pl> <ng5idu$n8v$1@node2.news.atman.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!goblin2!goblin1!goblin.stu.neva.ru!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail From: "leku" <lekucz@wp.pl> Newsgroups: pl.comp.bazy-danych.msaccess References: <571b871d$0$641$65785112@news.neostrada.pl> <ng4rbg$b0d$1@node1.news.atman.pl> <57263093$0$22828$65785112@news.neostrada.pl> <ng5idu$n8v$1@node2.news.atman.pl> In-Reply-To: <ng5idu$n8v$1@node2.news.atman.pl> Subject: Re: Access 2010 łączenie kilku kryteriów do kwerendy Date: Mon, 2 May 2016 10:09:37 +0200 MIME-Version: 1.0 X-Priority: 3 X-MSMail-Priority: Normal Importance: Normal X-Newsreader: Microsoft Windows Live Mail 16.4.3528.331 X-MimeOLE: Produced By Microsoft MimeOLE V16.4.3528.331 Lines: 66 Message-ID: <57270b34$0$684$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 79.186.113.140 X-Trace: 1462176564 unt-rea-a-01.news.neostrada.pl 684 79.186.113.140:51240 X-Complaints-To: abuse@news.neostrada.pl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit