Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Noob problem: memorisanje AutoNumber (ID-ja)

[es] :: Access :: Noob problem: memorisanje AutoNumber (ID-ja)

[ Pregleda: 1981 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Untouchabble
Untouchabble
Beograd

Član broj: 77524
Poruke: 169
*.adsl-1.sezampro.yu.



Profil

icon Noob problem: memorisanje AutoNumber (ID-ja)21.03.2008. u 00:41 - pre 195 meseci
Prakticno sam pocetnik u Accessu, pravim neku manju bazu za robno knjigovodstvo. Uglavnom, evo problema:

Code:
Public Sub Unesi()

    Dim cnnUnos As New ADODB.Connection
    Dim rstUnos As New ADODB.Recordset

    Set cnnUnos = CurrentProject.Connection
    
    'Otvaram recordset za tabelu Artikli i unosim vrednosti public promenljivih
    rstUnos.Open "tblArtikli", cnnUnos, adOpenKeyset, adLockOptimistic, adCmdTable
    
    rstUnos.AddNew
    
    rstUnos!PLU = intPLU
    rstUnos!Artikal = strArtikal
    rstUnos!TipObuce = strTipObuce
    rstUnos!IDDobavljac = lngIDDobavljac
    rstUnos!NabavnaCena = sngNabavnaCena
    rstUnos!ProdajnaCena = sngProdajnaCena
    rstUnos!Kolicina = intKolicina
    rstUnos!Komentar = strKomentar
    
    rstUnos.Update
    
    lngIDArtikal = rstUnos!IDArtikal    'Pamtim autonumber vrednost
    'zatvaram recordset
    rstUnos.Close
    
    'Otvaram nov recordset za tabelu UnosRobe i unosim vrednosti public promenljivih
    rstUnos.Open "tblUnosRobe", cnnUnos, adOpenKeyset, adLockOptimistic, adCmdTable

    rstUnos.AddNew
    
    rstUnos!DatumUnosa = dateDatum
    rstUnos!BrRacuna = strBrojRacuna
    rstUnos!TipUnosa = strTipUnosa
    rstUnos!IDArtikal = lngIDArtikal
    rstUnos!IDDobavljac = lngIDDobavljac
    rstUnos!UnosKolicina = intKolicina
    rstUnos!UnosProdajnaCena = sngProdajnaCena
    
    rstUnos.Update
    rstUnos.Close
    
    cnnUnos.Close

End Sub
Umesto lngIDArtikal, u IDArtikal polju tabele UnosRobe mi pamti lngIDDobavljac??? Molim za pomoc sto pre, probijam rok.
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: Noob problem: memorisanje AutoNumber (ID-ja)21.03.2008. u 06:44 - pre 195 meseci
Ja radim u DAO 3.6 standardu tako da nisam baš mnogo pozvan da komentarišem ADO ali probaj da u redu ispod ovog:
'Otvaram nov recordset za tabelu UnosRobe i unosim vrednosti public promenljivih
rstUnos.Open "tblUnosRobe", cnnUnos, adOpenKeyset, adLockOptimistic, adCmdTable

napišeš:

MsgBox lngIDArtikal

Da vidiš koju vrednost će da ti vrati. Mislim da bi trebalo da dimenzionišeš promenljivu "lngIDArtikal" gore ispod
Dim rstUnos As New ADODB.Recordset
Takođe je dobra praksa da na početku modula ispod Option Compare Database napišeš
Option Explicit



 
Odgovor na temu

domaci_a_nas
PHP developer

Član broj: 42333
Poruke: 524
*.dynamic.sbb.co.yu.



+8 Profil

icon Re: Noob problem: memorisanje AutoNumber (ID-ja)21.03.2008. u 09:49 - pre 195 meseci
Slažem se u potpunosti sa onime što je Getsbi rekao za deklarisanje promenljivih, mada pošto se radi o deklarisanju unutar iste procedure vrednost lngIDArtikal bi trebalo da se očuva i bez toga. Probaj da problem rešiš na sledeći način bez lngIDArtikal. Tako bi update tblUnosRobe izgledao ovako :

rstUnos!IDArtikal = DMax("IDArtikal","tblArtikli")
Ozbiljan i odgovoran mladić
 
Odgovor na temu

Untouchabble
Untouchabble
Beograd

Član broj: 77524
Poruke: 169
*.adsl-1.sezampro.yu.



Profil

icon Re: Noob problem: memorisanje AutoNumber (ID-ja)21.03.2008. u 09:54 - pre 195 meseci
Uradio sam to, i vraca pravu(potrebnu) vrednost! Ali nece da je sacuva u tabeli.
Ne moram da dimenzionisem promenljivu jer sam je vec deklarisao kao Public lngIDArtikal As Long. Btw, kako to funkcionise kod Accessa? Da li u svakom modulu/formu moram da deklarisem Public promenljive? Jer ako ukljucim Require Variable Declaration, prijavljuje mi gresku u svim Form-ovima, osim modula u kome su promenljive deklarisane. Tj, kako da postavim odredjeni modul kao pocetni, kao npr Sub Main u obicnom VB?
 
Odgovor na temu

Untouchabble
Untouchabble
Beograd

Član broj: 77524
Poruke: 169
*.adsl-3.sezampro.yu.



Profil

icon Re: Noob problem: memorisanje AutoNumber (ID-ja)21.03.2008. u 10:23 - pre 195 meseci
Resen problem, lookup upit u polju IDArtikal je bio lose definisan, dakle nema veze sa kodom. I dalje me zanima:
Citat:
Da li u svakom modulu/formu moram da deklarisem Public promenljive? Jer ako ukljucim Require Variable Declaration, prijavljuje mi gresku u svim Form-ovima, osim modula u kome su promenljive deklarisane. Tj, kako da postavim odredjeni modul kao pocetni, kao npr Sub Main u obicnom VB?
Hvala!
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: Noob problem: memorisanje AutoNumber (ID-ja)21.03.2008. u 11:42 - pre 195 meseci
Ne moraš u svakom. Deklaracija Public variabli je dovoljna u jednom od objekata Modules. Prijavljivaće grešku ako ih budeš ponavljao i u modulima formi ili reporta. Ne moraš da postavljaš taj modul sa Public variablama kao početni jer je vidljiv u cleom programu. Mislim da mogu dve službene reči da se upotrebe za tu namenu: Global ili Public.
 
Odgovor na temu

Untouchabble
Untouchabble
Beograd

Član broj: 77524
Poruke: 169
*.adsl-1.sezampro.yu.



Profil

icon Re: Noob problem: memorisanje AutoNumber (ID-ja)22.03.2008. u 21:18 - pre 195 meseci
Hvala drugar!
 
Odgovor na temu

[es] :: Access :: Noob problem: memorisanje AutoNumber (ID-ja)

[ Pregleda: 1981 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.