hoi, ik heb een aantal problemen in acces, hopelijk zitten hier een aantal experts die me kunnen helpen.
1) Ik heb een formulier(een doorlopend) en ik zou willen dat in het eerste tekstvak de standaardwaarde het nummer van de record is. (dus 1ste record "1"). Ik heb reeds gegoogled maar ik ben niets bruikbaars tegen gekomen.
2) Wanneer je iemand wil toevoegen aan de database opent eerst een appart formulier. waarin een automatisch gegenereerde id staat en 2 lege tekstvakken (1 voor de naam en 1 voor de gemeente).
De bedoeling hiervan is om als je op de knop "Toevoegen" klikt, access zoekt in mijn tabel als die persoon uit die gemeente er nog niet inzit. Dit is geen probleem, maar daarna zou het formulier moeten gesloten worden en de waarden ingevuld in het hoofd formulier (waar op de knop gedrukt werd om een persoon toe te voegen.) misschien is dit wat onduidelijk, dus heb ik hier een screenshot bijgestoken.
http://users.skynet.be/jellepunk/probleem.jpg
Hier zie je dus de 2 formulieren. Aan de knop in het hoofdformulier (de "+") hangt deze code
[code]
Private Sub cmd_nieuw_Click()
'record opslaan
DoCmd.Save
'nw nummer
Dim maxnr As String, nwnummer As String
maxnr = DMax("[klant]", "TBL_Klanten", "[klant] like '" & 1 & "*'")
nwnummer = "1" & Format(Val(Mid(maxnr, 2, 4)) + 1, "0000")
'FRM_Toevoegen Openen
DoCmd.OpenForm "FRM_toevoegen"
'het nummer invullen
[Forms]![frm_toevoegen]!
en aan de knop toevoegen uit het formulier toevoegen hangt deze code
[code]
Private Sub cmd_toevoegen_Click()
On Error GoTo Err_cmd_toevoegen_Click
'recordset definiëren
Dim dbs As Database, rst As DAO.Recordset
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("tbl_klanten", dbOpenDynaset)
'de namen uit het formulier halen
Dim zoeknaam As String, zoekgemeente As String, zoekcode As String
zoekcode = Me!
ik krijg als foutmelding dat de expressie verwijst naar een object dat reeds gesloten is.
3)
Ik wil een subformulier gebruiken om te zoeken maar daarin staat een keuzelijst met invoervak ZONDER rijbron. Nu wil ik met vba die rijbron aanpassen maar dat wil niet lukkn. Ik heb
maar hier heeft hij spontane foutmeldingen
alvast bedankt om alles een door te nemen. hopelijk weet er iemand raad
1) Ik heb een formulier(een doorlopend) en ik zou willen dat in het eerste tekstvak de standaardwaarde het nummer van de record is. (dus 1ste record "1"). Ik heb reeds gegoogled maar ik ben niets bruikbaars tegen gekomen.
2) Wanneer je iemand wil toevoegen aan de database opent eerst een appart formulier. waarin een automatisch gegenereerde id staat en 2 lege tekstvakken (1 voor de naam en 1 voor de gemeente).
De bedoeling hiervan is om als je op de knop "Toevoegen" klikt, access zoekt in mijn tabel als die persoon uit die gemeente er nog niet inzit. Dit is geen probleem, maar daarna zou het formulier moeten gesloten worden en de waarden ingevuld in het hoofd formulier (waar op de knop gedrukt werd om een persoon toe te voegen.) misschien is dit wat onduidelijk, dus heb ik hier een screenshot bijgestoken.
http://users.skynet.be/jellepunk/probleem.jpg
Hier zie je dus de 2 formulieren. Aan de knop in het hoofdformulier (de "+") hangt deze code
[code]
Private Sub cmd_nieuw_Click()
'record opslaan
DoCmd.Save
'nw nummer
Dim maxnr As String, nwnummer As String
maxnr = DMax("[klant]", "TBL_Klanten", "[klant] like '" & 1 & "*'")
nwnummer = "1" & Format(Val(Mid(maxnr, 2, 4)) + 1, "0000")
'FRM_Toevoegen Openen
DoCmd.OpenForm "FRM_toevoegen"
'het nummer invullen
[Forms]![frm_toevoegen]!
code:
1
2
3
| = nwnummer End Sub |
en aan de knop toevoegen uit het formulier toevoegen hangt deze code
[code]
Private Sub cmd_toevoegen_Click()
On Error GoTo Err_cmd_toevoegen_Click
'recordset definiëren
Dim dbs As Database, rst As DAO.Recordset
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("tbl_klanten", dbOpenDynaset)
'de namen uit het formulier halen
Dim zoeknaam As String, zoekgemeente As String, zoekcode As String
zoekcode = Me!
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
| zoeknaam = Me![naam]
zoekgemeente = Me![gemeente]
'kijken als het nummer wel juist is
rst.FindFirst "[klant] = '" & zoekcode & "'"
If rst.NoMatch = True Then
'kijken als het der nog niet inzit
rst.FindFirst "[naam klant] = '" & zoeknaam & "' and [plaats] = '" & zoekgemeente & "'"
If rst.NoMatch = True Then
'nog niet in de tabel
DoCmd.Close
DoCmd.GoToRecord , , acNewRec
Me![Klant] = code
Me![naam klant] = zoeknaam
Me![Plaats] = zoekgemeente
Else
'zit er al in
Dim antw As String
antw = MsgBox("Er is al iemand met deze naam in de database opgenomen. Hij/Zij woont in de " & rst![adres] & ". wilt u deze persoon toch toevoegen?", 324, "Klant toevoegen")
If antw = 6 Then
DoCmd.Close
DoCmd.GoToRecord , , acNewRec
Me![Klant] = code
Me![naam klant] = zoeknaam
Me![Plaats] = zoekgemeente
Else
MsgBox (zoeknaam & " werd niet toegevoegd.")
End If
End If
Else
MsgBox ("dit klantnummer is reeds in gebruik!")
End If
rst.Close
DoCmd.Close , "FRM_toevoegen"
Exit_cmd_toevoegen_Click:
Exit Sub
Err_cmd_toevoegen_Click:
MsgBox Err.Description
Resume Exit_cmd_toevoegen_Click
End Sub |
ik krijg als foutmelding dat de expressie verwijst naar een object dat reeds gesloten is.
3)
Ik wil een subformulier gebruiken om te zoeken maar daarin staat een keuzelijst met invoervak ZONDER rijbron. Nu wil ik met vba die rijbron aanpassen maar dat wil niet lukkn. Ik heb
code:
1
| forms.frm_zoeken.veldzoeken.rowsource = "qry_veldlijst_klanten" |
maar hier heeft hij spontane foutmeldingen
alvast bedankt om alles een door te nemen. hopelijk weet er iemand raad
[ Voor 21% gewijzigd door Verwijderd op 24-03-2005 20:20 ]