Getsbi:
Ako si se već upustio u prilagođavanje tuđe aplikacije svojim potrebama, predpostavljam da imaš neku stariju verziju koja radi. Kod mene pokretanje aplikacije izaziva problem sa OLE serverom ili ActiveX Control.
Raskidanje veza i brisanje podataka bez reda uz očekivanje da će nakon ponovnog povezivanja sve da radi je kockanje. Uzmi kopiju koja radi, ne raskidaj veze, već uoči šta se prazni od podataka prvo (zavisne tabele), a potom nezavisne. Otvaraj redom tabele po prioritetu i tako ih prazni od podataka. Očigledno je da si nešto propustio. Tvoja slika Greska.jpg je indikativna jer je moguće da fali neki objekat.
Imam staru verziju koju sam skinuo od kolege Zidara
Za antonia i druge da uoče razliku između Autonumber-a i programerski dobijenog autonumbera. U prilogu su dvije baze. Pokušajte da dodate nekoliko slogova u obje tabele preko formi u obje baze. Zatim izbrišite neki slog pa probajte opet da dodate taj slog.
Potpis
Ekipa trebala bi mi pomoc , napravio sam Upit za stanje lijekova ulaz i izlaz sve na izvjestaju, međutim želio bi da mi ne prikazuje one lijekove koji nisu ni usli ni izasli znaci one kojima je stanje 0 da ih nema na izvjestaju ... kako to napravit ??? U nastavku je kod :
Želim ako unesem 5 artikala samo da mi ti 5 artikala prikaze na ulazu tako i za izlaz ??
SELECT Artikl.ArtiklID, Artikl.NazivArtikla, Nz([UkupanUlaz],0) AS Ulaz, Nz([UkupanIzlaz],0) AS Izlaz, [Ulaz]-[Izlaz] AS Stanje, JedinicaMjere.NazivJediniceMjere
FROM JedinicaMjere INNER JOIN ((Artikl LEFT JOIN QArtikalUlaz ON Artikl.ArtiklID = QArtikalUlaz.ArtiklID) LEFT JOIN QArtikalIzlaz ON Artikl.ArtiklID = QArtikalIzlaz.ArtiklID) ON JedinicaMjere.JedinicaMjereID = Artikl.JedinicaMjereID;
Nenade, ja sam razumeo da želi, da tamo gde je stanje 0, da mu se ne prikazuje na izveštaju. Odnosno da SQL upit koji je izvor izveštaja sadrži samo one koji imaju neko stanje.
Uostalom najbolje je da zakači fajl sa sve tabelom, upitom i izveštajem, kao i formom odakle izveštaj pokreće. Verovatno je greška u sintaksi, jer sam pisao napamet.
Potpis
@Getsbi, nisam ispravio Vas vec @antonio22. Vi ste mu dali smjernicu,ali on ocigledno nije shvatio poentu vec je doslovno prepisao Vasu slucajnu gresku. Napisao sam prema onome sto je naznaceno u zakacenoj slici.
Potpis
Ako tko ima vremena i zelje neka malo baci pogled na bazu i da svoju sugestiju ... Kasno odgovaram na teme jer sam poslovno pretrpan kad stignem pokusam sta odradit . jos jednom Hvala svima na Vaćemu vremenu
Kreirao sam izvjestaj za izlazni dokument , u formi Izlaz sam dodao dugme naredba8 i kad unesem sljedeći kod izbaci mi gresku , zna li netko o cemu se radi :
Private Sub Naredba8_Click()
On Error GoTo Err_Naredba8_Click
Evo sad imam novu po meni problematicnu situaciju .... Imam formu na kojoj se nalaze ulaz i izlaz (prikazano na slici u prilogu) , kada idem na izlaz unesem lijek i kolicinu , ako je kolicina koju sam unio od veca od stanja lijekova onda mi izbaci upozorenje . Međutim kako su mi na istoj formi nalazi ulaz i izlaz, kod koji sam napisao stoji i kod ulaza pa kad unosim kolicinu on izbaci upozorenje , kako da to razdvojim ..
Dim provera As Double
provjera = DLookup("STANJE", "qArtikalStanje", "ArtiklID=" & Me.ArtiklID)
If provera < Me.Kolicina Then
MsgBox "Nema dovoljno na stanju. Imas samo: " & provjera, vbCritical, "STOP"
Me.Kolicina.Undo
Cancel = True
Else
End If
Iz tog što si napisao i slika ne mogu sa sigurnošću da ti dam odgovor. Pogledaj moj primer Ulaz-Izlaz na istoj formi pa uradi nešto analogno tome.
Potpis
Hm pokusavam al ne ide , poredim s ovim tvojim primjerom koji si mi poslao . Moji podatci idu iz Tabele DokumentStavka ( prikazano na slici ispod ) Forma koju koristim je takodjer prikazana na slici ispod .
Napravio sam komandu knjizi i umetnuo sljedeci kod :
Dim Baza As Database
Dim Sl_Tabela1 As Recordset
Set Baza = CurrentDb()
Set Sl_Tabela1 = Baza.OpenRecordset("DokumentStavka", dbOpenDynaset)
If Me.ArtiklID > 0 Then
If Me.ArtiklID > Me.Kolicina Then
MsgBox "Nema dovoljno kolicine. Proverite stanje", vbCritical, "Paznja !"
GoTo Kraj
ElseIf Me.ArtiklID <= Me.Kolicina Then
With Sl_Tabela1
.AddNew
![DokumentStavkaID] = Me![FrmIDroba]
![ArtiklID] = Me![ArtiklID]
![Ulaz] = 0
.Update
End With
MsgBox "Izlaz je uknjizen", vbInformation, "Obavestenje"
GoTo Kraj
End If
End If
If Me.ArtiklID > 0 Then
With Sl_Tabela1
.AddNew
![DokumentStavkaID] = Me![FrmIDroba]
![ArtiklID] = Me![ArtiklID]
![Izlaz] = 0
.Update
End With
MsgBox "Ulaz je uknjizen", vbInformation, "Obavestenje"
GoTo Kraj
End If
Nema potrebe za tolikim kodiranjem, mogli ste samo da u onaj predjasni kod dodate If Me.VrstaDokumentaID=2(ako je 2 izlaz) i nastavite sa ElseIf i vasim kodom za provjeru stanja. Znaci da provjeri ako je dokument izlaz, a ako je ulaz da preskoci provjeru i nema potrebe za dugmetom knjizi.
Odnosno posto je taj podatak na nadredjenoj formi Me.Parent.VrstaDokumentaID=2....
Potpis
Pokusao sam sa sljedecim kodom , al isto mi pokazuje i na ulazu i izlazu mi daje upozorenje da nema dovoljno lijekova :
Private Sub kolicina_BeforeUpdate(Cancel As Integer)
Dim provjera As Double
Me.Parent.VrstaDokumentaID = 2
provjera = DLookup("STANJE", "qArtikalStanje", "ArtiklID=" & Me.ArtiklID)
If provjera < Me.Kolicina Then
MsgBox "Nema dovoljno na stanju. Imas samo: " & provjera, vbCritical, "STOP"
Me.Kolicina.Undo
Cancel = True