Avatar billede compac Seniormester
04. januar 2002 - 15:42 Der 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?
Avatar billede larsen Nybegynder
04. januar 2002 - 15:45 #1
Du kan sætte den til at udføre handlingen efter den har prøvet om det vil lykkes, hvis det er det du mener ??
Avatar billede compac Seniormester
04. januar 2002 - 16:08 #2
Jeg forestiller mig en formular med 3 knapper:

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.
Avatar billede larsen Nybegynder
04. januar 2002 - 16:10 #3
Det vil sige at du vil udføre en opdatering (UPDATE) ?
Avatar billede tjacob Juniormester
04. januar 2002 - 16:15 #4
Vil du blot redigere den post, du lige har tilføjet? Eller skal du kunne vælge mellem alle poster?
Avatar billede tjacob Juniormester
04. januar 2002 - 16:26 #5
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.

MVH tjacob
Avatar billede compac Seniormester
04. januar 2002 - 17:31 #6
Det virker sådan set med tekstbox /redigerknap -princippet. Men min tabel ser således ud:

ID = autonummer
Sagsnummer= No dubletter
felt1  = Tekst

Indtastningen følger ID-nummeret, men jeg ville gerne have at det var Sagsnummeret der styrede.
Kan det lade sig gøre?
Avatar billede mugs Novice
04. januar 2002 - 18:23 #7
Flg. kode åbner Form2, hvor Sagsnummer er det samme som den formular du kom fra (Me!)

DoCmd.OpenForm \"Form2\"
Forms!Form2!Sagsnummer.SetFocus
DoCmd.FindRecord Me!Sagsnummer
Avatar billede tjacob Juniormester
04. januar 2002 - 18:39 #8
Hvis Sagsnummer skal styre, skal du sætte denne kolonne som den primære nøgle.

Hvis du mener at det er indholdet af Sagsnummer, der skal vises i tekstboksen, skal du blot vælge den som boksens kontrolkilde.

MVH tjacob
Avatar billede compac Seniormester
05. januar 2002 - 14:31 #9
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


Avatar billede mugs Novice
05. januar 2002 - 20:16 #10
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. 
Avatar billede compac Seniormester
07. januar 2002 - 16:47 #11
Egentlig kan det udtrykkes således:

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.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester