Avatar billede mhq Nybegynder
04. november 2002 - 23:20 Der er 3 kommentarer og
1 løsning

Check eksistensen af frasorterede records

Jeg sidder med en DB, hvor jeg har to kombobokse,der lister initialer, og derved hentes data fra samme tabel:
-QA_Behand (lister kun initialer relateret en bestemt gruppe afd)
-FORFATTER (total initiallisten, minus valget i QA)

Ved aktivering af QA_Behand komboboksen vil alle ikke-QA_Behand relatedere initialer selvfølgelig ikke fremgå af kombo-listen, og min NotInList funktion aktiveres, og der bliver spurgt om bruger ønsker at opdatere initial liste tabellen.

Det skal kun være en mulighed at opdatere initial liste tabellen i det tilfælde hvor initialerne ikke er listet i QA fordi de ikke findes i initial tabellen, og ikke fordi de er frasorteret pga QA komboboksens frasorterings-funktion.

Min kode ser sådan ud (Gammel kending fra disse sider):

Private Sub QA_Behand_NotInList(NewData As String, Response As Integer)
    Response = acDataErrContinue
    NewData = UCase(NewData)
   
    If Not IsNull(DLookup("QA_Behand", "T_L_Pers", "Initialer = '" & NewData & "'")) Then
        MsgBox NewData & " er oprettet men uden QA rettigheder", vbOKOnly
        Me.QA_Behand = Null
    Else
        Prompt = "Ønsker du at tilføje '" & NewData & "'?"
        If MsgBox(Prompt, vbYesNo, "QA person findes ikke!") = vbYes Then
            DoCmd.OpenForm "F_L_Pers_QA", , , , acFormAdd, acDialog, NewData
            If IsNull(DLookup("QA_Behand", "T_L_Pers", "Initialer = '" & NewData & "'")) Then
                Response = acDataErrAdded
            Else
                Response = acDataErrContinue
            End If
            Exit Sub
        Else
            Me.QA_Behand = Null
        End If
        Response = acDataErrContinue
    End If
End Sub

Mit problem er, at når jeg i QA_Behand indtaster initialer, som er i initial tabellen, men er frasorteret til QA_Behand, spørges der om tabellen skal opdateres. Jeg ønsker at der i dette tilfælde skal komme meddelse om at personen er registreret, men ikke som QA medlem!

Funktionen virker hvis jeg først har udfyldt både QA og Forfatter, og sidenhen ændrer enten den ene eller begge. Da fungerer NotInList koden ovenfor perfekt.

Hvor fejler mine fattige evner?

Mogens
Avatar billede terry Ekspert
06. november 2002 - 10:02 #1
Mogens I'm just guessing here, but isnt there something wrong with these lines?

If IsNull(DLookup("QA_Behand", "T_L_Pers", "Initialer = '" & NewData & "'")) Then
                Response = acDataErrAdded

Why If isNULL ???

Arent you testing to see IF the record WAS added?
Avatar billede mhq Nybegynder
06. november 2002 - 22:31 #2
Terry,- Sorry, wrong guess.

Jeg kan åbne formen (lad os kalde den FormA) via 4 veje:
1) Ved opstart af DB´en, hvor FormA er opstarts form.

2) Ved kopiering af en record i FormA:
        DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
        DoCmd.DoMenuItem acFormBar, acEditMenu, 2, , acMenuVer70
        DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70

3) Fra søgeformular trykke på knap, der åbner FormA
        DoCmd.OpenForm "F_D_Dok", acNormal, "", "", acAdd, acNormal
        DoCmd.Close acForm, "F_D_Dok_Search_Rapp"
        DoCmd.Close acForm, "F_D_Dok_Result"

4) FormA har en knap der opretter en ny tom record
        DoCmd.GoToRecord , , acNewRec

Problemet beskrevet ovenfor fordeler sig sådan:
1) Fejl i FormA, men initialerne er oprettet i tabellen.
2) Fejl i FormA, men initialerne er oprettet i tabellen.
3) OK
4) Ok

Måske løsningen er at finde ved en korrekt placering af .requery?

Det kan måske også godt være at jeg ikke helt forstår de forskellige acData...
Kender du et sted hvor der er lidt at finde om dem. Min Help funktion kender ikke disse ord!
Avatar billede mhq Nybegynder
06. november 2002 - 22:31 #3
FormA=F_D_Dok"
Avatar billede terry Ekspert
07. november 2002 - 08:38 #4
acDataErrAdded mean that you HAVE added the data, but you havent!
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