07. december 2001 - 14:00Der er
10 kommentarer og 1 løsning
rette / ikke-rette
Hejsa Jeg har en form (kunder), som åbner på baggrund af en søgning. Som default kan der ikke redigeres i kundedata, før brugeren har tastet F2, og det virker. Men jeg kunne godt tænke mig, at hvis man trykkede F2 igen, så kunne man ikke redigere. Altså F2(allowedit =true) og hvis man igen trykker F2(allowedit=false). Jeg har følgende kode, som ikke virker, men som viser princippet:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) On Error GoTo Err_Form_KeyDown
Dim val As Integer
If KeyCode = vbKeyF2 Then
val = Forms!kunder.AllowEdits
If val = 0 Then Forms!kunder.AllowEdits = True
Else Forms!kunder.AllowEdits = False
End If
End If
Håber der er nogle der kan hjælpe. Jeg tror jeg er ret tæt på løsningen.....
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
If allowedits is set to True when the form opens then it will get set to false the first time you press F2 and the next True and the next False and ...... so on!
Ja, det er lige præcis det den skal kunne håndtere.
Men dit eksempel virker ikke, det virker kun den ene vej: trykker man på F2 kan man redigere, men trykker man på F2 igen, så sker der desværre ingenting.
Numsi> The code does work! But lets make sure that what it is you are expecting to happen.
This is taken from Access help. You can use the AllowEdits property to specify whether a user can edit saved records when using a form.
In other words, existing records! You CAN add new and also DELETE existing.
Add this line just after the the line which changes True/False. Debug.Print \"Value = \" & Forms!kunder.AllowEdits
and then Press Ctrl+G to show the debug windows. You can see the value of AllowEdits each time you press F2 and if you dont, then there is something else wrong.
If yopu want to stop adding new records or deleting existing then use the following code:
If KeyCode = vbKeyF2 Then Forms!kunder.AllowEdits = Forms!kunder.AllowEdits XOR True Forms!kunder.AllowDeletions = Forms!kunder.AllowDeletions XOR True Forms!kunder.AllowAdditions = Forms!kunder.AllowAdditions XOR True
end if
If Forms!kunder is the form where yoiu are pressing F2 then you can use
Hi, terry Jeg kan stadig ikke få det til at virke...Men når jeg debugger kan jeg se værdierne skifter korrekt mellem true og false!
Som default har jeg sat værdierne til false i egenskaberne for \'kunder\'. Når jeg åbner formularen, så kan jeg ikke redigere osv. Trykker jeg F2 kan jeg godt. Men trykker jeg F2 igen, så kan jeg stadig skrive i felterne! Den gemmer også ændringerne. Det mærkelige er, at værdierne ændrer sig korrekt. Måske er der noget andet galt. Kan man ikke prøve at ændre værdien for postlåse? Altså først sætte den til at låse alle poster som default. Trykker man F2, så sættes værdien til ingen låse. Ville det måske være bedre?
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.