[VBA] Probleem met een if statement in if statement

Pagina: 1
Acties:

  • Frenkpie
  • Registratie: Juli 2000
  • Laatst online: 25-07 14:28

Frenkpie

"Crocs Rule !"

Topicstarter
Situatie: ik heb een formulier uitlening en een formulier klant. Wanneer ik op de knop druk moet ie het klanten formulier openen en daar kan ik een nieuwe klant toevoegne.

wanneer die klant is toegevoegd moet het klant nr van het ene formulier over worden genomen naar het andere formulier.

Ik kan de beide if loopjes individueel vna elkaar wel werkend krijgen onder deze knop, maar ik kan ze niet tegelijk gebruikne.

Ik heb in de help gekeken en geprobeerd de notatiewijze te achterhalen, maar toch werkt het niet helemaal want het klant Nr wordt niet meer overgenomen naar het andere formulier.

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private Sub Knop64_Click()
On Error GoTo Err_Knop64_Click
    
    If Form_Klanten.Voornaam.Value = Null Then
        DoCmd.CancelEvent
    ElseIf Form_Klanten.Voornaam.Value = Not Null Then
        If Form_Uitlening.Visible Then
            Form_Uitlening.KlantNr.Value = Form_Klanten.KlantNr.Value
        End If
    End If
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
    DoCmd.Close

Exit_Knop64_Click:
    Exit Sub

Err_Knop64_Click:
    MsgBox Err.Description
    Resume Exit_Knop64_Click
    
End Sub


Wat is er fout in de code?

[ Voor 44% gewijzigd door Frenkpie op 26-06-2006 15:09 ]


  • Stamgastje
  • Registratie: April 2003
  • Laatst online: 02-02-2020
Dus wat wil je weten? Of wat gaat er fout? Een beetje meer uitleg is wel op zijn plaats.

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Stop AI Slop

Dit lijkt me toch een stukje standaard debug-werk...

Zet de volgende code eens in die sub:
Visual Basic:
1
MsgBox Form_Uitlening.Visible


Ik snap het nut van dat "If Form_Uitlening.Visible Then"-gedeelte niet echt, wil je controleren of het form op het scherm staat?

Je moet niet dronken dat ik denken ben.
What seems to be the officer, problem?
Waar is de brand, meester?


  • Frenkpie
  • Registratie: Juli 2000
  • Laatst online: 25-07 14:28

Frenkpie

"Crocs Rule !"

Topicstarter
CodeCaster schreef op maandag 26 juni 2006 @ 14:57:
Dit lijkt me toch een stukje standaard debug-werk...

Zet de volgende code eens in die sub:
Visual Basic:
1
MsgBox Form_Uitlening.Visible


Ik snap het nut van dat "If Form_Uitlening.Visible Then"-gedeelte niet echt, wil je controleren of het form op het scherm staat?
Je kijkt dan of dat formulier geopent is, als dat zo is dan...


Oke even wat uitgebreidere uitleg: ik heb een formulier uitlening.daar kan een klant worden geslecteerd. Wanneer de klant nog niet in de DB voorkomt kan die via een ander formulier worden toegevoegd (klanten) die opent ie in toevoegmodus wanneer er op de knop wordt geklikt.

Wanneer er dan klanten gegevens ingevoerd worden, worden deze opgeslagen in de tabel klant en wordt het klant nr van het veldje op het klantenformulier worden overgenomen naar het veldje klantnr op het uitleenformulier.

Wanneer er op de knop wordt gedrukt maar er geen klantgegevens worden ingevoerd (dus de velden blijven leeg) moet de toevoeg opdracht worden gecanceled en het formulier worden gesloten.


ik heb de code even doorgekeken en aangepast:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private Sub Knop64_Click()
On Error GoTo Err_Knop64_Click
    
    If Form_Klanten.Voornaam.Value = Null Then
        DoCmd.CancelEvent
    ElseIf Form_Klanten.Voornaam.Value = Not Null Then
        If Form_Uitlening.Visible Then
            Form_Uitlening.KlantNr.Value = Form_Klanten.KlantNr.Value
            DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
        End If
    End If
    DoCmd.Close

Exit_Knop64_Click:
    Exit Sub

Err_Knop64_Click:
    MsgBox Err.Description
    Resume Exit_Knop64_Click
    
End Sub

[ Voor 7% gewijzigd door Frenkpie op 26-06-2006 15:10 ]