Gegevens in een form ophalen, vba

Status
Niet open voor verdere reacties.

leonard0

Gebruiker
Lid geworden
6 mrt 2003
Berichten
140
enkele vraagjes met betrekking tot vba en form, zie hierbij ook de plaatjes voor evt. verheldering

relaties2.JPG

gebruiker.JPG


Dag allemaal, ik heb de volgende vragen

1. Ik wil met de knop opslaan pas opslaan als de checkbox aangevinkt is.
Daaarvoor schreef ik ongeveer het volgende, maar dat werkt niet:
IF checkbox.checked = true THEN
opdracht...
ELSE: MsgBox("u dient checkbox aan te vinken")
END IF


2. in tblGebruiker is afdeling een integer. In het formulier doe ik na het bekendworden van user id een dlookup bij alle persoonlijke gegevens. Maar bij afdeling lukt het niet, iemand een oplossing?
Heb nu dit, maar werkt niet:
txtafdeling = Trim(Dlookup("naam", "tblafdeling", "id= "tblgebruikers.afdeling" AND "gebruikerid='" & Me.txtgebruikerid & "'"))

krijg dan foutmelding; function of variable verwacht, of bestandtypen komen niet overeen.

3. Iemand ook evt. een oplossing voor opslaan?
Gaat om een INSERT INTO die in tblInvoerDAg en InvoerSpecifiek opgeslagen dient te worden. Velden die leeg worden gelaten bij taak, uren en aantal moeten niet opgeslagen worden. Dit is vrij lastig omdat het om meerdere tabellen gaat en de NOT NULL niet moet worden opgeslagen

Iemand oplossing(en)? B.v.d.
Gr. Le0
 
Laatst bewerkt:
Vraag 1. Uit je vraag denk ik te halen dat je bound forms gebruikt. In de else tak van je IF statement moet je ook nog zorgen dat je gegevens niet gesaved worden. Als je geen bound form gebruikt, zou dit geen problemen op mogen leveren.

Vraag 2. Je bent volgens mij een paar & vergeten en een " teveel :
Code:
txtafdeling = Trim(Dlookup("naam", "tblafdeling", "id= " & tblgebruikers.afdeling & " AND gebruikerid='" & Me.txtgebruikerid & "'"))

Vraag 3. Je kan je velden aflopen bijvoorbeeld alleen de velden waarbij de TAG gevuld is met een bepaalde tabelnaam. Zo hou je je controls bij elkaar. Als het veld leeg/null is, dan sla je die over. Is die dat niet dan neem je de naam en de waarde mee. Op die manier kan je je INSERT statement opbouwen.
Maar ehh.. Je wil de NOT NULL niet(?) opslaan? Ik neem aan van wel. Anders blijft je database leeg. Het bespaart wel ruimte!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan