Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190

Warning: Illegal string offset 'status' in /home2/icentarb/public_html/icentar/print.php on line 190
iCentar » Racunari i oprema » Programirannje i baze podataka » Access » prikaz stanja naformi
nevsad 21.06.2013 15:28
Predmet:prikaz stanja naformi

imam bazu (splitovanu) mdb i odvojenu a+plikaciju

problem..

imam glavnu formu i u njoj subformu a u njoj u formfuteru formu za prikaz stanja proizvoda

prikaz stanje je vezan preko link chield files i to radi fantastično

pravi problem je kad stanje treba pokazati iz pomočne forme za pretragu koju pozivam sa F5(isfiltriram proizvod a potom ga donesen na subformu tada u formici stanja uvijek imam vrijednost -1)

unosim lijekovena polju interna,koristim F5 za pretragu i poslije toga iz te forme "pretrage" donosim taj lijek internu u subformu u tom momentu na formi stanja imam uvijek -1.

pokušao sam svašta ali bez uspjeha

koru+isna je svaka ideja

zxz 21.06.2013 16:32
Predmet:Re: prikaz stanja naformi

Iz ovoga je tesko bilo sta reci.
Pominjes formu a forma je kao maska.
Srz problema je u SQL-u koji je postavljen na formu.
Najbolje bi bilo da imas kakav primjer.

nevsad 24.06.2013 10:14
Predmet:Re: prikaz stanja naformi

evo primjera
nadam se da je sada malo jasnije

ramic
Prilozi:
apoteka_Backup.rar (Velicina datoteke:1.71 MB)

zxz 24.06.2013 17:34
Predmet:Re: prikaz stanja naformi

Uf sledeci put daj bar imena formi.
Nije dobro ici mnogo puta u subform a zasto nisi ni imao potrebu.
Ovaj primjer je radjen za recepti esencialna odnosno forma izlaz.
I na ostalo se moze primijeniti isto.
Evo ovako:
Ovu proceduru stavi u neki modul.

PreuzmiIzvorni kôd (Visual Basic):
  1. Function NV(ImePolja As String, ImeTabele As String, Uslov As String)
  2. Dim DB As Database
  3. Dim Rs As Recordset
  4. Dim SQL As String
  5.  
  6. If Len(Uslov) <= 26 Then GoTo kraj
  7. On Error Resume Next
  8. SQL = "SELECT " & ImePolja & " FROM " & ImeTabele & " WHERE " & Uslov
  9. Set DB = CurrentDb()
  10. Set Rs = DB.OpenRecordset(SQL)
  11. NV = Rs.Fields(0)
  12. kraj:
  13. End Function
Tvoju formu crveno mozes pobrisati i pobrisati i prozor za subformu crveno na formi POCETNODETALJI.
E sada sta treba dodati:
Na formi izlaz dodati text box :
Ime-Apoteka
Controlsource-apoteka
Ovo polje i nemora biti vidljivo ako ti ne pase
Na formi POCETNODETALJI dodati text box:
ime-stanje
ControlSource-==NV("stanje";"Crvenopravo";"apoteka='" & [Forms]![IZLAZ]![Apoteka] & " AND proizvod='" & [interna].[column](1))

Na postojecem combu pod imenom:
interna u rowsource upisati ovaj SQL:
SELECT proizvodi.INTERNA, proizvodi.PROIZVOD, proizvodi.ime, proizvodi.sifra, proizvodi.CIJENA, proizvodi.participacija, proizvodi.zavod, proizvodi.jedmj, proizvodi.POREZ, proizvodi.minimum, proizvodi.maximum FROM crveno INNER JOIN proizvodi ON crveno.proizvod = proizvodi.PROIZVOD WHERE (((crveno.apoteka)=[Forms]![IZLAZ]![Apoteka])) ORDER BY proizvodi.PROIZVOD

Na formi Pretraga
U list boxu isresult u rowsource upisati ovaj sql:
PreuzmiIzvorni kôd (SQL):
  1. SELECT proizvodi.INTERNA, proizvodi.PROIZVOD, proizvodi.ime, DOBAVLJAC.dobavljac, proizvodi.CIJENA, proizvodi.participacija, proizvodi.zavod
  2. FROM crveno INNER JOIN (proizvodi INNER JOIN DOBAVLJAC ON proizvodi.sifra = DOBAVLJAC.sifra) ON crveno.proizvod = proizvodi.PROIZVOD
  3. WHERE (((crveno.apoteka)=[Forms]![IZLAZ]![Apoteka]))
  4. ORDER BY proizvodi.PROIZVOD
  5. WITH OWNERACCESS OPTION;

E sad pšosto nju vjerovatno podizes i sa drugih opcija ovo bi trebao biti dinamicki sql tj. da se upisuje pri podizanju forme.
Nije mi se dalo to da istrazujem jer nije nista napisano a ni pripremljeno za normalno koristenje.
Ima mouse hveklee dll.
Maksimiza prozora itd.. itd..

nevsad 25.06.2013 14:14
Predmet:Re: prikaz stanja naformi

imam forme za ulaz lijekova
1.frmulaz
2.ulaz
3.eulaz
4detaljiulaz

za recepte
1.frmizlaz
2.izlaz
3.eizlaz
4.detaljiizlaz

forma pretraga je univerzalana za sve pretrage proizvoda (ulaz izlaz pocetno povrat itd)

***** dodao sam kod koji si napisao ali ne radi ... ne pokazuje stanje
evo i popravljen primjer
fino hvala
ramic
Prilozi:
apoteka_Backup.rar (Velicina datoteke:1.61 MB)

zxz 25.06.2013 15:13
Predmet:Re: prikaz stanja naformi

Nisam ovo dobro napisao:
Na formi POCETNODETALJI dodati text box:
ime-stanje
ControlSource-==NV("stanje";"Crvenopravo";"apoteka='" & [Forms]![IZLAZ]![Apoteka] & "' AND proizvod='" & [interna].[column](1) & "'")

nevsad 25.06.2013 16:22
Predmet:Re: prikaz stanja naformi

definitivo to radi ...
ali je problem sada combo interna na formi detaljiizlaz

naime sada kombo pokazuje sve recorde promjena lijekova a ne lijekove iz tabele proizvodi..

nevsad 25.06.2013 16:42
Predmet:Re: prikaz stanja naformi

fino hvala rješio sam kombo...
u sql iskazu sklonio sam crveno pravo i apoteku i sada je ok..
mislio sam da ce sumirati stanje za sve objekte ali je dobro

hvala na pomoći

nevsad 25.06.2013 16:54
Predmet:Re: prikaz stanja naformi

definitivno ostaje problem forme pretraga jer za svaku vrstu (ulaz izlaz povrat itd ) moram praviti posebne forme

hvala

zxz 25.06.2013 19:34
Predmet:Re: prikaz stanja naformi

Nemoras.
Na formi pretraga imas listbox koji se zove isresult.
U njegovom Rowsource imas Query QPretrage i mozes mijenjati samo ta Query pri podizanju.
Medjutim mislim da i on nije dobar.
U njemu si imas da ga mogu pokretati samo ovneri a ne Useri.
WITH OWNERACCESS OPTION.
Neznam da ti to treba.
Mislim da si tu opciju slucajno promijenio.
Evo SQL Bez te opcije
PreuzmiIzvorni kôd (SQL):
  1. SELECT proizvodi.INTERNA, proizvodi.PROIZVOD, proizvodi.ime, DOBAVLJAC.dobavljac, proizvodi.CIJENA, proizvodi.participacija, proizvodi.zavod
  2. FROM crveno INNER JOIN (proizvodi INNER JOIN DOBAVLJAC ON proizvodi.sifra = DOBAVLJAC.sifra) ON crveno.PROIZVOD = proizvodi.PROIZVOD
  3. WHERE (((crveno.apoteka)=[Forms]![ULAZ]![Apoteka]))
  4. ORDER BY proizvodi.PROIZVOD;

Znaci ovo bi bio sadrzaj tvoga Query-a QPRETRAGE.

Na formi Izlaz detalji stavi ovo:
Private Sub interna_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyF5
PintFlag = 0
Dim Qdf As QueryDef
Dim Db As Database
Dim SQL As String
Set Db = CurrentDb
Set Qdf = Db.QueryDefs("QPretrage")
SQL = SQLSTR
SQL = SQL & " WHERE crveno.apoteka=[Forms]![IZLAZ]![Apoteka] ORDER BY proizvodi.PROIZVOD"
Qdf.SQL = SQL
Qdf.Close
Set Db = Nothing

DoCmd.OpenForm "Pretraga", acNormal, , , , acDialog
If PintFlag = 1 Then
Me.interna = PrenoS
DoCmd.RunCommand acCmdSaveRecord
Me.interna.SetFocus
End If
Me.proizvod = Me.interna.Column(1)
Me.ime = Me.interna.Column(2)
Me.sifra = Me.interna.Column(3)
Me.cijena = Me.interna.Column(4)
Me.participacija = Me.interna.Column(5)
Me.zavod = Me.interna.Column(6)
Me.jedmj = Me.interna.Column(7)
Me.porez = Me.interna.Column(8)
Me.usluga = Me.interna.Column(9)
End Select
End Sub
Private Sub interna_KeyPress(KeyAscii As Integer)
Me!interna.Dropdown
End Sub
Private Sub INTERNA_NotInList(NewData As String, Response As Integer)
MsgBox " Nemate takavu Å¡ifru ! " & Chr(13) _
& "Želite ponovo provjeriti ?", vbInformation, "Queensland Computer" ' Define message.
Response = acDataErrContinue
End Sub

Ja sam dodao samo boldovani dio.
U ulaz dodaj ovaj isti kod sem sto ce ovaj dio biti drugaciji:
WHERE crveno.apoteka=[Forms]![ULAZ]![Apoteka] ORDER BY proizvodi.PROIZVOD"
Znaci samo umjesto izlaz napises ulaz.

U neki modul na vrh stavi ovu konstantu:
Const SQLSTR = "SELECT proizvodi.INTERNA, proizvodi.PROIZVOD, proizvodi.ime, DOBAVLJAC.dobavljac, proizvodi.CIJENA, proizvodi.participacija, proizvodi.zavod " _
& "FROM crveno INNER JOIN (proizvodi INNER JOIN DOBAVLJAC ON proizvodi.sifra = DOBAVLJAC.sifra) ON crveno.PROIZVOD = proizvodi.PROIZVOD"