Prilikom upisivanja podataka u tabelu stalno mi se javlja greska "You can't assign a value to this object" za textfield, cije je vrednost odredjena sa Dlookup funkcijom.
Podatak iz textfiled treba da se upise u polje koje je u relaciji sa Autonumber ID poljem in neke druge tabele.
Zna li neko kako da resim ovaj problem ili je objasnjenje suvise konfuzno?
Suvise je konfuzno. Izgleda da imas text box koji ima formulu za data source. dakle, nije povezan sa tabelom. ne moze u istom text boxu da stoji =DLOOKUP(....) i da se onda taj isti tekst box veze za neko polje pa da mu se dodeli neka vrednost. Nije dozvoljeno u Accessu.
medjutim, ti scvakako imas razlog zasto ti treba Dlookup i zasto ti treba da se posle upise vrednost u to isto polje. Objasni nam sta zaopravo pokusavas, koje poslovno pravilo ili operaciju pokusavas. Mozda se nadje neko resenje, potpuno drugacije od onoga koje pokusavas, a da radt tacno sta ti treba.
Izgleda da hoces da iz neke druge tabele (ne one koja je data source za tvoju formu) procitas vrednost nekog polja (nema veze sto je AutoNumber) i da tu vrednost sacuvas u ovoj tabeli koja je record source za tvoju formu. Ako je ovo tacno, onda tu treba malo programiranja. U neki od eventa na formi, treba da stavis kod koji cita iz druge tabele i zatim sto je procitano dodeljuje tvom text boksu. Nisi nam dovoljno opisao proces da bih mogao da ti kazem koji form event da koristis, ali opcije su ti Form_OnLoad, Form_OnCurrent, Form_BeforeUpdate, a mozda i Form_OnOpen. Za citanje iz druge tabele mozes da koristis Dlookup ili rekordsete, sta ti jevec lakse i sta bolje znas i sta ce da radi dovoljno brzo.
Medjutim, ozda ti sve ovo i ne treba, ali to ne znamo jer ne znamo sta ti zapravo pokusavas da uradis.
Pa upravo to i pokusavam da uradim, preko eventa, On_Load. Pokusavam da procitam vrednost zadnjeg zapisa iz druge tabele i da ga dodelim text box-u. Sve mi radi ok dok je texbox unbound ali cim mu stavim da mu je control sorce polje u koje treba da se upise vrednost, javi mi gore napisanu poruku da ne ne mogu da dodelim vrednost tom textbox-u. Inace koristim Dlookup funkciju jer mi je jednostavnija nego da pisem ceo set komandi za recordeset :)
Prilozi kod koji koristis. Ako si stavio za text box da je record source nesto kao =Dlookup(...) onda nece moci. Text box mora da bude bound od pocetka. Onda u eventu stavis
me!TvojTextBox = Dlookup(....)
Probaj OnCurrent ili BeforeUpdate umesto OnLoad. On Load se desava samo jednom, posle OnOpen. OnCurrent se desava kad god se pomeris sa rekorda na rekord.