Dakle korisnik unese npr. proizvod br. 1, proizvod br. 2 i proizvod br 3. Program treba da pokaze one fakture koje na sebi imaju i proizvod 1 i proizvod 2 i proizvod 3.
Podaci mi se nalaze u tekst fajl-u, te sam stoga napravio sljedeci kod:
Private Sub cmdIzvrsiUpit_Click()
Link01 = "Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="
Link02 = Chr(34)
Link3 = "DBQ=" & App.Path & ";DefaultDir=" & App.Path & ";Driver={Microsoft Text Driver (*.txt; *.csv)};DriverId=27;FIL=text;FILEDSN=" & App.Path & "\TXTODBC.dsn;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;"
TXTLink = Link1 & Link2 & Link3 & Link2
Dim TxtAdoConn As ADODB.Connection
Dim TxtAdoRS As ADODB.Recordset
Dim TxtAdoFld As ADODB.Field
Dim Server, SQLUpitiServeri As String
Set TxtAdoConn = New ADODB.Connection
TxtAdoConn.Open TXTLink
Dim Proizvodi
Dim Duzina As Integer
Duzina = Len(txtLista.Text)
Duzina = Duzina - 2
Proizvodi = Left(txtLista.Text, Duzina)
Dim CounUvjet As Integer
CounUvjet = Val(txtBrojProizvoda.Text)
SQLUpitServeri = "Select FAKTURA From TxtBaza.txt where ARTIKL in (" & Proizvodi & ") group by FAKTURA having count(DISTINCT(ARTIKL)) = " & CounUvjet
Poruka = MsgBox(SQLUpitServeri, vbOKOnly, "")
'Kreiraj i otvori recordset
Set TxtAdoRS = New ADODB.Recordset
TxtAdoRS.Open SQLUpitServeri, TxtAdoConn
With TxtAdoRS
.MoveFirst
Do While Not .EOF
.MoveNext
Loop
End With
Exit Sub
End Sub
kada pokrenem izvrsavanje dobijem poruku koja se nalazi u prilogu. ODBC Text Driver nedefinirana funkcija 'DISTINCT'. Upit mora sadrzavati DISTINCT, jer jedino tako dobivam ispravne podatke.
Na koji nacin se moze srediti problem?