[ ombrs.do @ 18.09.2020. 09:50 ] @
Imam problem i molbu
zasto ovaj sql izraz radi

SELECT GR_LATIN.*, *
FROM [GR_LATIN] IN 'C:\Server\GRADJANI.accdb';

a ovaj ne

SELECT GR_LATIN.*
FROM GR_LATIN IN "'" & DLookUp("[Putanja]","[Put]","[Grupa]='PIPS'") & "'";

Hvala unaprijed
[ Almedin @ 18.09.2020. 20:39 ] @
A ovo?

SELECT GR_LATIN.*
FROM GR_LATIN IN DLookUp("[Putanja]","[Put]","[Grupa]='PIPS'");
[ ombrs.do @ 21.09.2020. 06:53 ] @
Ne.Sve kombinacije sam probao.Hvala.
[ djoka_l @ 21.09.2020. 08:19 ] @
Ne koristim često Access, ali ono što vidim je Dlookup vraća jednu vrednost, a IN klauzula zahteva listu vrednosti

Možda proradi

select ...
where polje in (dlookup(...))

Takođe, nije mi jasna konstrukcija
TABLENAME IN NEŠTO

[ ombrs.do @ 21.09.2020. 09:57 ] @
Nije to
[ djux66 @ 21.09.2020. 10:45 ] @
Ovo ti je nemoguće ako koristiš query u accessu, zato što putanja do externe baze mora unapred da se zna.

https://docs.microsoft.com/en-...in-clause-microsoft-access-sql

Postoji razlika između IN clause i IN operator koji koristiš posle WHERE, gde može da se ubaci dinamički parametar.
Mislim da je ovo izvodljivo samo kroz vba, gde bi definisao neku custom funkciju, npr:

Code:

Public Function GetDatabasePath(group As String) As String
    Dim criteria As String
    criteria = "Grupa='" & group & "'"
    GetDatabasePath = "'" & DLookup("Putanja", "Put", criteria) & "'"
End Function


Pa bi to onda iskoristio negde

Code:

Public Sub Test()
    Dim sqlString As String
    
    sqlString = "SELECT * FROM GR_LATIN IN " & GetDatabasePath("PIPS") & ";"
    
    Debug.Print sqlString
    'itd....
End Sub
[ ombrs.do @ 22.09.2020. 08:04 ] @
Private Sub Command21_Click()
Dim qMarks As DAO.QueryDef
Dim strMarksSQL As String
Dim strBePath As String

strBePath = DLookup("[Putanja]", "[Put]", "[Grupa]='PIPS'")
Set qMarks = CurrentDb.CreateQueryDef(“qryMarks”)

strMarksSQL = "SELECT * FROM GR_LATIN_SOURCE IN '" & strBePath & "' where (IIf(IsNull([Forms]![Form29]![Text4]),"""",[Grad] ='" & [Forms]![Form29]![Text4] & "'))" _
& "And (IIf(IsNull([Forms]![Form29]![Text0]),"""",[Prezime] Like '*" & [Forms]![Form29]![Text0] & "*'))" _
& "And (IIf(IsNull([Forms]![Form29]![Text2]),"""",[Ime] Like '*" & [Forms]![Form29]![Text2] & "*'))" _
& "And (IIf(IsNull([Forms]![Form29]![Text6]),"""",[Filter] Like '*" & [Forms]![Form29]![Text6] & "*'))"
qMarks.sql = strMarksSQL
mySQL_RN1_aktiv_0 = strMarksSQL
Forms!Form29.RecordSource = mySQL_RN1_aktiv_0
End Sub

Ovo radi i hvala u svakom slucaju