25. juli 2002 - 15:41Der er
6 kommentarer og 1 løsning
Hvad er der galt med if sætningen?
Hej! På formen har jeg lagt en gruppe radiobokse, som har værdierne 1, 2, 3. hvis man vælger 1 så skal den gør dit og hvis man vælger 2 så kal den lave dat... osv. Men jeg kan ikke få den til at msgbox viser sig kun når man har valgt den tilhørende tal(værdi)? hvad er løsningen.
tak
Private Sub Es1_Click()
Dim Msg ', Style, Title, Response Msg = "Da medlemmet har nægtet at deltage oprettes en ny rekord ?" 'Style = vbOKCancel + vbCritical + vbDefaultButton2 'Title = "Medlemmet nægter"
'Msgbox(Msg, Style, Title)
'If (Response = vbYes And Me![Es1].Value = 1) Then If Me![Es1].Value = 1 And Msgbox("Er du sikker på at du vil fortsætte?", vbOKCancel, "Error!") = vbOK Then
Me![senr].Visible = False Me![Esenr].Visible = False DoCmd.GoToRecord , , acNewRec stDocName = "KontaktSenere" DoCmd.OpenForm stDocName, , , stLinkCriteria ElseIf Me![Es1].Value = 1 And Msgbox("Er du sikker på at du vil fortsætte?", vbOKCancel, "Error!") = vbCancel Then Me![senr].Visible = False Me![Esenr].Visible = False 'DoCmd.GoToRecord , , acNewRec 'End If ElseIf Me![Es1].Value = 3 And Msgbox("Er du sikker på at du vil fortsætte?", vbOKCancel, "Error!") = vbOK Then 'Me![Esenr].Visible = True 'Me![senr].Visible = True 'Cpr.SetFocus Me![s2].Visible = True Me![E2].Visible = True 'Me![s3].Visible = True 'Me![E3].Visible = True Me![Streg344].Visible = True Me![Streg249].Visible = True ''ElseIf Me![Es1].Value = 3 And Msgbox("Er du sikker på at du vil fortsætte?", vbOKCancel, "Error!") = vbCancel Then Me![s2].Visible = False Me![E2].Visible = False 'Me![s3].Visible = True 'Me![E3].Visible = True Me![Streg344].Visible = False Me![Streg249].Visible = False ElseIf Me![Es1].Value = 2 And Msgbox(Msg, vbOKCancel, "Error!") = vbOK Then DoCmd.GoToRecord , , acNewRec 'Es1.SetFocus Else Me![Es1].Value = 2 And Msgbox(Msg, vbOKCancel, "Error!") = vbCancel
Linie 7 Du undersøger om response er vbYes, men ovenfor har du sat Style til vbOKCancel og så vidt jeg husker er vbOK ikke det samme som vbYes.
Linie 7-8 (to if sætninger lige efter hinanden) Det er vel ikke nødvendigt at kontrollere Me!Es1.Value to gange lige efter hindanden - når du er kommet ind i den første løkke, så ER værdien 1.
Select Case Me.Es1.Value Case 1 : If MsgBox("Er du sikker på at du vil fortsætte?", vbOKCancel, "Error!") = vbOK Then 'kode ved "JA" Else 'Kode ved "Nej" End If
hossein du er også nødt til at flytte dine Msgbox("Er du sikker på at du vil fortsætte?", væk fra alle if sætningerne - ellers risikerer du at blive spurgt om det samme flere gange.
nih's idé med en select case er ret tiltalende og noget mere overskuelig.
Case 2: If MsgBox("Er du sikker på at du vil fortsætte2?", vbOKCancel, "Error!") = vbOK Then DoCmd.GoToRecord , , acNewRec Else Me![Es1].SetFocus End If
Case 3: If MsgBox("Er du sikker på at du vil fortsætte3?", vbOKCancel, "Error!") = vbOK Then Me![s2].Visible = True Me![e2].Visible = True Me![Streg344].Visible = True Me![Streg249].Visible = True Else Me![s2].Visible = False Me![e2].Visible = False Me![Streg344].Visible = False Me![Streg249].Visible = False End If
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.