[ Kire2005 @ 18.09.2005. 00:15 ] @
| Imam problem sa filtriranje podatke i nemogu ga resiti.
Otvoriosam Formu (frmPregled) u kojoj za Record Sourse som postavio Queries (qryPregled).
U formi sam ubacio 4 Tex Box za koja Control Source su polja iz (qryPregled) :
TexBox X1 je vezan za X1 iz qryPregled
TexBox X2 je vezan za X2 iz qryPregled
TexBox X3 je vezan za X3 iz qryPregled
TexBox X4 je vezan za X3 iz qryPregled
Ubaciosam u formu Dugme (cmdTrazi) i TexBox (txtTrazi) koi nije povezan a namenjen je za unos podatka za pretrazi
Za Code sam uradio:
GENERAL
------------------------
Option Compare Database
Option Explicit
Dim strFilterSQL As String
Const strSQL = "SELECT qryPregled.qryX1,qryPregled.qryX1,qryPregled.qryX1,qryPregled.qryX1 FROM qryPregled"
A za cmdTrazi sam ubacio ovo:
Private Sub cmdTrazi_Click()
-----------------------------
strFilterSQL = strSQL & ";"
strFilterSQL = strSQL & " Where [X1] = txtTrazi"
Me.RecordSource = strFilterSQL
Me.Requery
U ovj situacii kad ubacim neki tekst u pole (txtTrazi) na primer IBM i kliknem na (cmdTrazi) prikazuje se poruka za unos; "Enter Parameter Value" txtTrazi i ubacim unju IBM i kliknem OK da bi filter proradio.Prolem je u tome da ne znam kako da defviniram code da bi od prve uzeo tekst iz (txtTrazi)odnosno de ne bih dva puta ubacivo isti tekst i kako mogu da prosirim filter da radi i nad X2,X3,X4 a ne samo nad x1.
Pozdrav svima!
|
[ izonic @ 18.09.2005. 01:10 ] @
Pa ti u recordsource ubacujes samo filter a ne citav sql.
Pogledaj primjer ovdje:
http://www.icentar.com/58,4;nocount=1#p1176
[ Kire2005 @ 18.09.2005. 14:46 ] @
Hvala izonic
Tacno da nisam uradio OK, ali opet nemogu se nsaci.
Znas uradiosam tvoj predlog ali sigurno nisam nesto dobro uradio, mislim zeznuo (nisam bas razumeo neke stavari) pa bix te zamolio da me koregiras i pomognes ukoliko imas vremena
U Formu (frmPregled) za Record Sourse je Queries (qryPregled) koi uzima podatke iz 3 tabele (Aparati,Klienti,Transfer) u relacii i radi OK
Za frmPregled sam uradio ovo:
(frmPregled) (qryPregled)
----------- ------------
Aparat ControlSource Aparat
Model ControlSource Model
Data ControlSource Data
Klient ControlSource Klient
Za code sam ubaco ono sto si mi predlozijo
U (General) sam ubacio ovo:
Function Trazi(qryPregled As String, Aparat As String, Vrijednost As Variant)
Dim SQL As String
If Val(Vrijednost) <> 0 Then
Vrijednost = Val(Vrijednost)
Else
Vrijednost = "'" & Vrijednost & "'"
End If
SQL = "SELECT * FROM " & qryPregled & " WHERE " & Aparat & "=" & Vrijednost
Trazi = SQL
End Function
A u Polju Aparat za Event - DblClick sam ubaio
Private Sub Aparat_DblClick(Cancel As Integer)
-----------------------------------------------
Dim a
a = InputBox("Apart", "PRETRAGA")
Me.RecordSource = Trazi("Aparat", Me.ActiveControl.Name, a)
Kad Pokrenem Formu i kliknem na polje Aparat pojavise InputBox("Apart", "PRETRAGA") ubacim recimo TV i javi se greska u "Me.RecordSource = Trazi("Aparat", Me.ActiveControl.Name, a)". Nisam razumeo odakle dolazi "Racuni" u tvom primeru Me.RecordSource = Trazi("Racuni", Me.ActiveControl.Name, a) i nije mi jasno 'ImePolja-----Naziv polja po kome s traži dali si mislo da ubacim jos jedno nevezano polje za pretragu. Neznam gde je problem mozes li mi pomoci Hvala jos jednom
[ izonic @ 18.09.2005. 20:05 ] @
Bjim se da nisi doviljno dobro procitao kod a mozda sam i ja malo kriv za to.
U funkciji Trazi netrebas nista mijenjati ona je univerzalna.
Znaci ne treba mijenjati ImePolja jer to je memorijska ulazna promjenjljiva kao i druge promjenljive.
e sad o sub
Znaci treba prekopirati samo ovo izmedju sub na datom text boxu
Dim a
a = InputBox("Napiši kriterij pretrage", "Kriterij pretrage")
Me.RecordSource = Trazi("Racuni", Me.ActiveControl.Name, a)
stim sto sam ja mozda napravio jednu gresku.
U polju gdej pise racuni je u stvari ime tabele pa sam trebao tako i napisati.
Mislio sam da ce se to razumjeti.
U tvom slucaju je to ime query-a koji se nalazi na formi na Recordsource.
Nadfam se da ce sada biti jasno.
Pozdrav
[ Kire2005 @ 18.09.2005. 21:58 ] @
Znas sada sam ukapirao ono sto si mi pojasno
Konacno radi. To je to.
HVALA JOS JEDNOM!
Pozdrav
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.