mcdhappy80
Registered User.
- Local time
- Today, 04:53
- Joined
- Jun 22, 2009
- Messages
- 347
Can I change the SQL of the query, which is record source, with VBA?
Thank You
Thank You
No because this query ... :Are you sure you don't mean ;
SELECT tblZaduzivanje.txtTipNaplateID, tblZaduzivanje.txtMestoPohID, tblZaduzivanje.dblIznosZaNaplatu, tblZaduzivanje.dteDatumZaduzivanja
FROM tblZaduzivanje
WHERE (((tblZaduzivanje.txtTipNaplateID)<>'R00' And (tblZaduzivanje.txtTipNaplateID)<>'R01' And (tblZaduzivanje.txtTipNaplateID)<>'R02' And (tblZaduzivanje.txtTipNaplateID)<>'R02' And (tblZaduzivanje.txtTipNaplateID)<>'R03' And (tblZaduzivanje.txtTipNaplateID)<>'R04' And (tblZaduzivanje.txtTipNaplateID)<>'R05' And (tblZaduzivanje.txtTipNaplateID)<>'R06' And (tblZaduzivanje.txtTipNaplateID)<>'R07' And (tblZaduzivanje.txtTipNaplateID)<>'S00' And (tblZaduzivanje.txtTipNaplateID)<>'S01' And (tblZaduzivanje.txtTipNaplateID)<>'S02' And (tblZaduzivanje.txtTipNaplateID)<>'S02' And (tblZaduzivanje.txtTipNaplateID)<>'S03' And (tblZaduzivanje.txtTipNaplateID)<>'S04' And (tblZaduzivanje.txtTipNaplateID)<>'S05' And (tblZaduzivanje.txtTipNaplateID)<>'S06' And (tblZaduzivanje.txtTipNaplateID)<>'S07') AND ((tblZaduzivanje.txtMestoPohID)='801' Or (tblZaduzivanje.txtMestoPohID)='802'));
SELECT tblZaduzivanje.txtTipNaplateID, tblZaduzivanje.txtMestoPohID, tblZaduzivanje.dblIznosZaNaplatu, tblZaduzivanje.dteDatumZaduzivanja
FROM tblZaduzivanje
WHERE tblZaduzivanje.txtTipNaplateID<>'R00' And tblZaduzivanje.txtTipNaplateID>'R01' And tblZaduzivanje.txtTipNaplateID<>'R02' And tblZaduzivanje.txtTipNaplateID<>'R02' And tblZaduzivanje.txtTipNaplateID<>'R03' And tblZaduzivanje.txtTipNaplateID<>'R04' And tblZaduzivanje.txtTipNaplateID<>'R05' And tblZaduzivanje.txtTipNaplateID<>'R06' And tblZaduzivanje.txtTipNaplateID<>'R07' And tblZaduzivanje.txtTipNaplateID<>'S00' And tblZaduzivanje.txtTipNaplateID<>'S01' And tblZaduzivanje.txtTipNaplateID<>'S02' And tblZaduzivanje.txtTipNaplateID<>'S02' And tblZaduzivanje.txtTipNaplateID)<>'S03' And tblZaduzivanje.txtTipNaplateID<>'S04' And tblZaduzivanje.txtTipNaplateID<>'S05' And tblZaduzivanje.txtTipNaplateID<>'S06' And tblZaduzivanje.txtTipNaplateID<>'S07' AND tblZaduzivanje.txtMestoPohID='801' Or tblZaduzivanje.txtMestoPohID='802';
Yes, I tried that, it works just as filtering the report with VBA, but the problem was with parenthesis in SQL.All you should be doing is writing the sql in code and setting the recordsource directly. Galaxiom also advised that.
Yes, I tried that, it works just as filtering the report with VBA, but the problem was with parenthesis in SQL.
From what SOS said, you can handle these using IF ... ELSE statement or IIF() function. There are some examples of how to do this on the forum. Once you overcome this, you will find this approach very useful.Yes, I tried that, it works just as filtering the report with VBA, but the problem was with parenthesis in SQL.
I just wanted to say that for future reference if someone has the same problem as I did ...
Thank You
" tblZaduzivanje.txtMestoPohID='801' " & IIF(IsCombined = Yes, "OR", "AND") & " tblZaduzivanje.txtMestoPohID='802';
Thnx, now I see what You had in mind.I don't know off by hear where these examples are but if you use the search tool on this forum, you should find some appropriate threads.
An example is:
Where IsCombined could be a checkbox or a variable that indicates whether you want an AND or a OR operator used in the WHERE close. It just gives you an idea of how it could be used. Remember that all an IIF() function does is return one of the two parts in its arguments so that can be easily embedded in your sql string.Code:" tblZaduzivanje.txtMestoPohID='801' " & IIF(IsCombined = Yes, "OR", "AND") & " tblZaduzivanje.txtMestoPohID='802';