Avatar billede michael-schou Novice
08. september 2011 - 13:05 Der er 8 kommentarer og
1 løsning

Soter på felt i Access - Hvordan gør man lige det?

Hejsa.

Jeg har en DB som jeg er ved at opdatere for en anden.

Databasen indeholder Kursist data og hver person der bliver oprettet i DB'en for et nr. fra Auto nummereringen i Access.

Når en kursist er aktiv er status = Kursist
Når en kursist IKKE er aktiv er status = Afsluttet

Er det muligt at lave en checkbox eller en knap så man skjuler
de kursister der står til Afsluttet?!? - De skal ikke vises i den oversigts form der er over alle kursisterne i DB'en.

Når man så sætter en Aktiv kursist til Afsluttet skal den jo så også forvinde fra oversigten.

Man skal stadig kunne se Afsluttede kursister på et andet tidspunkt hvis man ønsker dette.

Mange tak på forhånd :-)

Mvh.

Michael.
Avatar billede hugopedersen Nybegynder
08. september 2011 - 16:46 #1
Du kan sagtens sætte en checkbox på din form som er hæftet på et Boolean felt i din tabel (på dansk hedder de Ja/Nej)
Du laver så en forespørgsel som form får data fra. I denne sætter du som kriterie at det felt du har brugt skal være False.
På formen kan du så på checkboxens OnClick event lave enten en Me.Refresh eller en Me.Requery (eksperimenter med hvad der virker bedst) så skulle posten hvor du sætter fluebenet gerne forsvinde.

Hvis du skal have den til at vise alle igen, så er den lidt mere tricky. Jeg ville gøre det ved at lave 2 identiske forespørgsler hvor den ene har kriteriet Falsk og den anden ikke.
På formen vil jeg så lave f.eks. 2 Radiobuttons og på deres OnChange event skifte forespørgsel på formen. Det har jeg før lavet med held.

Men der er ikke nogen nem løsning på noget af det.
Avatar billede michael-schou Novice
12. september 2011 - 11:24 #2
Hej Hugo Pedersen.

Jeg har valgt en anden løsning end den sortering jeg først havde tænkt på at udarbejde.

Jeg syntes godt nok at det var svært at komme i gang, med den sorterings metode.

Jeg har valgt at gøre det på en anden måde :

Når man sætter en kursist til Afsluttet bliver man spurgt om man vil overføre data'en - Jeg har lavet det sådan at data'en bliver flyttet over i en ny tabel og slettetes i oversigten over aktive kursister.

Hvis man siger nej til at sætte kursisten som Afsluttede så hopper den bare tilbage til formen og sætter kursisten til Kursist.

Koden for denne lille Hændelse ser sådan her ud :

Koden er sat på "VedÆndring" i ACCESS.

----------------------KODE START------------------------

Dim akDb As Database
Dim AfsKursistTabel As TableDef
Dim AfsKursistPostSet As Recordset
Dim Text As String
Dim Svar As Integer

Set akDb = CurrentDb()
Set AfsKursistTabel = akDb.TableDefs("AfsKursist")
Set AfsKursistPostSet = akDb.OpenRecordset("AfsKursist", dbOpenDynaset)

Text = "Er du sikker på at du vil ændre status til Afsluttet på denne kursist : " & Fornavn & " " & Efternavn & "?"

If Status = "Afsluttet" Then
Svar = MsgBox(Text, vbYesNo + vbQuestion, "Sæt kursist til afsluttet")
If Svar = vbYes Then
  AfsKursistPostSet.AddNew
  AfsKursistPostSet("Efternavn") = Efternavn
  AfsKursistPostSet("Fornavn") = Fornavn
  AfsKursistPostSet("Adresse") = Adresse
  AfsKursistPostSet("Postnr") = Postnr
  AfsKursistPostSet("By") = By
  AfsKursistPostSet("Speciale") = Speciale
  AfsKursistPostSet("Mobil Nr") = MobilNr
  AfsKursistPostSet("Telefon#nr# privat") = TelefonNrPrivat
  AfsKursistPostSet("E-Mail#") = Email
  AfsKursistPostSet("Ansættelse Start") = AnsættelseStart
  AfsKursistPostSet("Ansættelse Slut") = AnsættelseSlut
  AfsKursistPostSet("Materiale tilsendt") = MaterialeTilsendt
  AfsKursistPostSet("Status") = Status
  Svar = MsgBox("Titlen : " & Fornavn & " " & Efternavn & " er flyttet til afsluttede kursister", vbInformation)

  On Error GoTo Err_Kombinationsboks42_Change_Click

    DoCmd.SetWarnings False
    DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
    DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

Exit_Kombinationsboks42_Change_Click:
  Exit Sub

Err_Kombinationsboks42_Change_Click:
    MsgBox Err.Description
    Resume Exit_Kombinationsboks42_Change_Click

  End If
  If Svar = vbNo Then
    Kombinationsboks42.Value = "Kursist"
    GoTo Slut
  End If
End If

Slut:
End Sub

----------------------KODE SLUT------------------------

Vil du have point for dit indlæg? :-)
Avatar billede hugopedersen Nybegynder
12. september 2011 - 12:18 #3
I min verden er  det er nok ikke den smarteste løsning du har brugt der. Men det er din beslutning.  Jeg ville lave det med de flag.

Hvis du har en kopi af din database med ganske få data i, så kan du evt. sende den til mig, så vil jeg godt prøve at lave en version som jeg beskriver.
Avatar billede michael-schou Novice
15. september 2011 - 20:51 #4
Jeg vil gerne sende den til dig så du kan se på den.

Hvilken mail skal jeg sende den til? :D
Avatar billede hugopedersen Nybegynder
16. september 2011 - 07:34 #5
oz8hp  snabela  hotmail  punktum  com
Avatar billede hugopedersen Nybegynder
20. september 2011 - 13:08 #6
Jeg har kigget lidt i din database og ikke for at genere nogen så vil det på grund af designet tage alt for lang tid for mig at lave en løsning som jeg beskriver.
Den tid har jeg desværre ikke på nuværende tidspunkt.
Avatar billede michael-schou Novice
20. september 2011 - 15:22 #7
Hej Hugo.

Det er skam helt ok :D

Smid et svar så får du point :-)

Tak for din tid :-)

Mvh.

Michael
Avatar billede hugopedersen Nybegynder
20. september 2011 - 16:22 #8
OK - det er da helt i orden :-)
Avatar billede michael-schou Novice
26. september 2011 - 12:06 #9
Tak for insight og hjælp -)
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