Na selctie velden aanvullen

Status
Niet open voor verdere reacties.

Smartguy

Meubilair
Lid geworden
13 jul 2001
Berichten
7.240
Goedenmorgen op deze mistige maandag,

Wie kan me zeggen hoe, als ik in Access een optie selecteer uit een keuzeveld, de bij deze optie horende gegevens ook op het scherm verschijnen.

access.jpg


Dus als ik in dit voorbeeld bijvoorbeeld voor C0003 zou kiezen dan zou in de overige velden de al ingevulde gegevens voor die code moeten verschijnen welke in een andere tabel zitten verwerkt.

Ik zou je heel dankbaar zijn.

Groeten,

Gijs
 
Daar kunnen we heel kort in zijn.
In tabelweergave kan dat niet.

Dat lukt alleen op een formulier.
 
Geplaatst door Bartuls
Daar kunnen we heel kort in zijn.
In tabelweergave kan dat niet.

Dat lukt alleen op een formulier.

Dat formulier heb ik dus ook. Het is de bedoeling dat men daar de gegevens in kan wijzigen. Maar hoe doe ik dat dan? :)

access2.jpg

Voorbeeldformulier
 
Maak een niet afhankelijke dropdown lijst. Geef bij de gegevensbron een query op die de waarden en id ophaalt (c0001,c0002 enz). Maak daarna een afterupdate gebeurtenis aan met een code als aan onderstaand voorbeeld om de overige, wel afhankelijke velden in te vullen.

Code:
Private Sub Keuzelijst_met_invoervak_AfterUpdate()
    ' De record zoeken die overeenkomt met het besturingselement
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[Tabel].[Computer_nr] = " & Me![Keuzelijst met invoervak] & ""
    
    If rs.NoMatch Then
       MsgBox "No records found"
    End If

    Me.Bookmark = rs.Bookmark
End Sub
 
Hmmm, dat wordt al gelijk weer wat ingewikkelder. :eek: Ben niet zo'n Visual Basic mannetje. Die query heb ik in elk geval al gemaakt. Daarna de dropdown lijst, waar ook de gegevens uit de query in te zien zijn.

Maar nu dat Visual Basic gedeelte nog. :eek:

Ik heb:

1 tabel: Computerregistratie
1 query: Computer_nrs
1 formulier: Computerregistratie_formulier
In dit formulier staan enkele velden waaronder 'Computer nr'.

Die zal ik in de editor Computer nr aan moeten klikken gok ik en dan in het andere veld kiezen voor AfterUpdate waarna dit in de editor verschijnt. Maar dan...?

access3.jpg
 
De aangeleverde code invoegen en in plaats van tabel 'Computerregistratie' invullen en in plaats van keuzelijst met invoervak de naam van je eigen keuzelijst 'Computer_nr', waarbinnen deze code ook is geplaatst. Immers na een verandering in de onafhankelijke keuzelijst wil je de waarden van de overige afhankelijke velden in het formulier laten invullen.
 
Dat heb ik nu gedaan.

Heb nu dus:

Code:
Private Sub Computer_nr_AfterUpdate()

    ' De record zoeken die overeenkomt met het besturingselement
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[Computerregistratie].[Computer_nr] = " & Me![Computer_nr] & ""
    
    If rs.NoMatch Then
       MsgBox "Geen records gevonden"
    End If

    Me.Bookmark = rs.Bookmark

End sub

En nu als ik in dat formulier uit de dropdown van Computer_nr een willekeurig nummer kies krijg ik

'Fout 3070' "The Microsoft-Jet-Database-Engine kan c0003 niet herkennen als een geldige veldnaam of expressie" (Geld ook voor c0001, enz.)

Ik weet even niet wat ik nog zou kunnen doen....:rolleyes:

Hier zit de fout in zegt Visual Basic me.
Code:
rs.FindFirst "[Computerregistratie].[Computer_nr] = " & Me![Computer_nr] & ""

Ik heb het volgende:

1 tabel: Computerregistratie
Met tal van velden...

1 query: Computer_nrs
Met alleen het veld 'computer_nr' uit de tabel.

1 form: Computerregistratie
Met alle velden uit de tabel, en een zelfaangemaakte Computer_nr dropdown menu waar de C0001 nummers in verschijnen, deze werkt dus niet.

EDIT: Ik kom er net achter dat scrollen in plaats van klikken wel werkt in de dropdown lijst. Dan krijg ik dus geen foutmelding. :confused:
 
Laatst bewerkt:
Probeer:
Code:
rs.FindFirst "[Computerregistratie].[Computer_nr] = '" & Me![Computer_nr] & "'"
 
Hey bedankt! Dat werkt :)

Ik zal nog een vraag stellen en dan zwijg ik een tijdje :eek:

Nu heb ik twee formulieren gemaakt en heb nu:

2 formulieren: Computer bewerken
Computer toevoegen

Het formulier 'computer toevoegen' heb ik doormiddel van een macro zo ingesteld dat het zich opent in een nieuwe record. Echter als ik hier dan bij het veld 'Computer nr' een nieuwe nummer invoer en naar het volgende veld ga verschijnt automatisch het eerste (c0001) computernummer in het 'computer nr' veld. Het nieuwe computernummer wordt dan wel aangemaakt, maar zonder de andere gegevens zoals Datum registratie, Lokatie enz.. Hoe los ik dit op?
 
Ik snap het geloof ik niet helemaal. Dit formulier is een ander formulier dan waar je deze topic mee begon? En dit formulier is leeg. Je voert een nieuw computernummer in en dan moeten andere velden worden ingevuld. Maar dat nieuwe nummer (bv c1234) heeft toch nog geen gegevens? Of is het een bestaand nummer uit computerregistratie. Dan kun je dezelfde methode gebruiken als hiervoor toch?
 
Ondertussen heb ik alles al opgelost :) Excuses als het een beetje onduidelijk overkwam.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan