04. januar 2002 - 15:42Der er
10 kommentarer og 1 løsning
Formular - redigering
I Access er der masser af kommandoer og rutiner der giver mulighed for at slette og tilføje nye poster. MEN er der ikke en fremgangsmåde, der kan anbefales hvis man skal redigere i poster(fra en formular)? Findes der nogen der har et eksempel?
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.
Tilføj Slet Rediger - de to første er ikke noget problem, da de kan oprettes i kommandoknap-wizarden. Jeg Rediger-knappen skal således hverken slette eller tilføje records -blot redigere eksisterende.
Indsæt en tekstboks ved siden af \'Rediger\'-knappen, og sæt dens kontrolkilde til den kolonne i den underliggende tabel du vil redigere. Når du ændrer i teksboksens tekst vil tabellen automatisk blive opdateret når tekstboksen mister fokus.
Hvis du vil kunne vælge mellem posterne, så skal formularens postvælgere stå på ja.
Hvis du vil redigere i flere kolonner skal du have flere tekstbokse.
Jeg vil gerne have at formularen bliver opdateret dvs. den record med de oplysninger der ligger under sagsnummer skal vises uden at det er nødvendigt at oprette en ny formular. Jeg har fundet denne stump kode - men der kommer en fejlmedd Runtime err = 2115 - om at Access ikke kan opdatere data osv. -ud for Requery. Jeg er opmærksom på at de er Before_update - men er det ikke et krav, hvis man skal have min Msgbox?
Min kode ser således ud: Private Sub Sagsnummer_BeforeUpdate(Cancel As Integer)
Dim fDateExists As Boolean Dim medd As String Dim lngvaribel As String
fDateExists = (DCount\"*\", \"Apparat\", \"[sagsnummer] = \'\" & Me!Sagsnummer & \"\'\") > 0) If fDateExists Then medd = MsgBox(\"Posten findes i forvejen!\") If medd = vbOK Then Dim Bkmrk As Variant Bkmrk = Me.Bookmark DoCmd.Requery Me.Bookmark = Bkmrk Exit Sub Else medd = vbCancel DoCmd.CancelEvent End If End If End Sub
Jeg er ikke helt med på, hvad du mener. Hvis det er en ny post du har oprettet, bliver tabellen ikke opdateret med den nye post, før du flytter væk fra posten. Din kode ligger jo også i BeforeUpdate så tabellen er endnu ikke opdateret. Så kan du jo blot redigere så meget du vil.
Du bruger kommandoen DoCmd.Requery, som opdaterer den underliggende tabel / forespørgsel, og vider derefter den første post.
Hvis du bruger koden Me.Refresh, vil formularen opdatere den underliggende tabel / forespørgsel uden at flytte fra den nyoprettede post. Men så er vi jo i hændelsen Afterupdate.
Men som sagt er jeg lidt i vildrede med hvad du vil.
Jeg vil lave en formular, som er en kombination af en forespørgsel og en redigering. Således: Når man indtaster et nummer(sagsnummer) vises de data i formularen, der hører til dette sagsnummer. - samt en advarsel om at nummeret findes i forvejen (hvis dette er tilfældet). Derefter skal man kunne redigere sine data i formularen for til sidst at opdatere med en OK-Knap.
Synes godt om
Ny brugerNybegynder
Din løsning...
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.