Foutmelding 3075, geen waarde toegekend aan een knop.

Status
Niet open voor verdere reacties.

joellp

Gebruiker
Lid geworden
14 okt 2011
Berichten
32
Beste,

zie onderstaande afbeelding. Wanneer ik klik op de persoon (overigens is meneer Jansen een voorbeeld persoon) en ik klik op "open dossier", krijg ik keurig zijn dossier te zien.

Wanneer ik vergeet meneer Jansen aan de te klikken en ik alleen klik op: "open dossier" krijg ik onderstaand foutmelding: FOUT 3075. Ik moet dus een code toekennen wanneer de waarde op de knop "open dossier" niks is, hij een melding geef dat ik eerst een "persoon" moet aanklikken.

Zie hieronder het voorbeeld met bijbehorende foutmelding:

foutmelding.JPG
 
Ik zou de knop verwijderen, en vervangen door een dubbelklikactie op het record zelf. Dan weet je zeker dat er een record is geselecteerd. Of een foutroutine toevoegen aan je code.
 
ahh oke,

want ik heb nu:

Code:
Private Sub Command17_Click()
    'Find a selected record, then close the search dialog box
    DoCmd.OpenForm "frm_Patient_lezen", , , "[tbl_Patienten].[ID]=" & List13.Column(0)
    
    'Close the dialog box
    DoCmd.Close acForm, "frm_Patienten"

End Sub

Code:
Private Sub List13_DblClick(Cancel As Integer)

End Sub
 
Laatst bewerkt:
ah, oke.. had het wel doorgelezen maar helemaal vergeten, sorry :)
 
Om even bij de knop te blijven: controleer eerst of er een waarde is in je keuzelijst. Dus iets als:

Code:
If not List13.Column(0) Is Null Then
    DoCmd.OpenForm "frm_Patient_lezen", , , "[tbl_Patienten].[ID]=" & List13.Column(0)
    DoCmd.Close acForm, "frm_Patienten"
End If
 
Ik krijg bij de bovenstaande code, Fout 424 tijdens uitvoering: Object vereist
 
Ik heb ook maar een voorzetje gegeven hoe je een fout kunt afvangen :) Ik kan zo niet zien wat je in je keuzelijst List13 hebt staan, ik vermoed een numerieke waarde. De check of er wat in staat of niet (die bepaalt tenslotte of je formulier moet worden geopend) kan je nog wel aanscherpen. Bijvoorbeeld zo:

Code:
If Not Nz(List13.Column(0),0) =0

Of je maakt een subprocedure Fout, die je onderin de code zet.

Code:
Private Sub Command17_Click()
On Error Goto Foutje
If Not Nz(List13.Column(0),0) = 0 Then
    DoCmd.OpenForm "frm_Patient_lezen", , , "[tbl_Patienten].[ID]=" & List13.Column(0)
    DoCmd.Close acForm, "frm_Patienten"
End If

Exit Sub

Foutje:
Msgbox "Eerst een patient selecteren..."
End Sub
 
Ja precies,

want het formulier zoals helemaal bovenaan in de screenshot is te zien, weergeeft altijd gegevens in List13. Het gaat er idd om dat wanneer je geen patiënt aan klikt je een foutmelding krijgt. Indien je een patiënt selecteert in List13 en op "open dossier" klikt, opent hij keurig het dossier.
 
Ik ben ermee aan de slag geweest, maar krijg: Compileerfout "onjuist aantal argumenten of ongeldige eigenschappentoewijzing".

Normaal gesproken kan je in Access de foutmelding 3075 gewoon wegklikken, alleen het is van belang voor mij dat er een eigen gemaakte foutmelding komt omdat wanneer ik de applicatie uitvoer in Access Runtime, sluit hij gelijk de hele applicatie af.
 
Deze vraag is opgelost! Ik heb de knop toch maar verwijderd en via de lijst een dubbelklik functie gemaakt, net zo makkelijk ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan