26. december 2001 - 00:18Der er
20 kommentarer og 1 løsning
feltet kan ikke indeholde en null-værdi
Er det muligt ved hjælp af vba at slette en record når den ikke helt udfyldt selvom der er obligtoiske felter der i, så man ikke får access fejlmeddelse at den ikke kan indeholde en nul-værdi
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.
Not sure I undersatnd your problem fully! When you start entering data into the fields you can use the escape (ESC) key to undo the record, one hit of the key un-does the field and another hit undoes the record.
You can also use undo method for undoing changes to a form. You can plase this in the forms before update event
Korrekt som Terry svarer, kan du ved hjælp af metoden Me.Undo fortryde indtastningen. Du kan dog automatisere handlingen, ved at indsætte en fejlhåndtering således:
Private Sub() On Error Go To Fejlhåndtering her indtaster du en evt. kode Fejlhåndtering: Me.Undo
Som betyder, at hvis der opstår en fejl ved gennemløb af procedüren, vil Access gå til Linien Fejlhåndtering og udføre kommandoen Me.Undo, som sletter den sidst udførte handling.
hej Terry og Mugs dejligt at høre fra jer. er det så ikke muligt at jeg kan kalde (esc)key ved hjælp af noget programkode og en knap f.eks. for som jeg forstår er det kun formularen undo metoden gør noget ved, jeg tænker på hvis man har relationer til andre tabeller
Jo - du har på sin vis ret. Men hvis du indsætter koden i formularens \"Before Update\" event, er tabellen endnu ikke opdateret med den nye post. Det sker først ved efter \"After Update\". Jeg vil derfor mene, at du uanset relationer kan bruge denne løsning.
You can use the sendkeys (see Access help) statement to send an ESC character to Access, but how many (1 or 2) do you send? The me.undo undoes changes to th eform not just to a single field.
jeg tror mark_j er ude på noget der ligner det her:
Private Sub Form_BeforeUpdate(Cancel As Integer) If IsNull(Me.opgave) Then \'Cancel = True \'Me.Undo End If End Sub
feltnavnet er \"opgave\" og du kan prøve dig frem med om du vil bruge cancel eller undo. Det svarer til terry\'s første indlæg, men her har du et eksembel.
det hele virker hvis du bare har en form, men da jeg har en underformular kokser det naar hovedformen er er opdateret men du ikke udfylder underformularen
mark_j>It shard to say what th eproblem is as you have not said what you have tried, there was no mention of a sub form in your original question either. As much information as possible helps in giving a quick solution!
The me.undo MUST be in the sub form if its a record in the sub form you are in the process of creating. If you have already created a record on th emain form and also want to UNDO that then thats another kettle of fish (another problem) That record HAS been created so you will have to delete it.
If thats what you want to do then you will have to set focus on th emain form and then delete the current record
Me.parent.somefield.setfocus \'chnage somefield to one of the fields on the main form.
sorry jeg udelod de informationer, det er naar man har stirret paa det i saa lang tid. Nu siger den at jeg ikke kan slette poster, men det kan ikke passe for jeg kan goere det manuelt og jeg har checket formularen, der er tilladelse til at slette
Jeg er paa subformen, meddelsen jeg faar er feltet kan ikke tage focus og det er alle felterne paa mainform, det er lidt irreterende fordi det er det sidste jeg mangler paa indtastningssiden(+mit lille time problem)
mark_j>Its still VERY hard to give you a correct answer when you still dont say what you are actually doing. Are you trying to create a record on the sub form and BECAUSE you get an error you want to cancel the entry of a record on th esub form and ALSO delete the record on the main form?
mark_j> Når du bruger me.parent.blabla SKAL du afprøve subformen fra mainformen. Hvis du åbner din subform seperat vil me.parent give fejl, fordi der ingen \'parent\' er....
Hej Terry Det faktisk den samme database hvor du hjalp mig med hovedform og to subforme, for et stykke tid siden. Jeg mailede den til dig.Problemet opstaar naar en medarbejder starter op med at taste noget information ind og lige pludselig fortryder at have oprettet den record, paa nuvaerende tidspunkt bliver personen noedt til at udfylde det hele inden han kan slette recorden. Det er temmeligt upraktisk Mark
Hi Mark, Ok, I have just looked at the dB from the other question I helpted you with. Having two sub forms makes things a little more difficult!
Lets say you create a record in the main form and then one or more in the first sub form. Then you enter one or more records in th esecond sub form. Do you wnat to delete ALL the records in BOTH sub forms and also the record on the main form?
Íf thats what you want to do then you can use the following
Private Sub Form_BeforeUpdate(Cancel As Integer) If IsNull(Me.maskinID) Then Me.Undo
Cancel = True
DoCmd.RunSQL \"DELETE * FROM tblGruppe where GruppeID = \" & Me.Parent.gruppeID
End If
End Sub
You can also do this on the first sub form if need be.
I am off to England tomorrow so you wont be hearing from me before about 4th January, so have a good New Year :o)
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.