18. juni 2003 - 12:06Der er
27 kommentarer og 2 løsninger
Problemer med null-error-besked (tal-format)
Så er jeg her igen med mit salmeprogram.
Denne gang vil jeg gerne forsøge at slippe af med de irriterende fejl-beskeder (Runtime error 94 - invalid use of Null). Således opstår fejlen:
I et felt skriver jeg et nummer på en salme i den gamle salmebog (jeg har valgt tal-format pga. statistiske udregninger). Tilsvarende salmes nummer i den nye salmebog bliver herefter vist i et andet felt (med en DLookUp-funktion,). Men når den gamle salme IKKE findes i den nye salmebog (dvs. når værdien i tabellens kolonne "ny salmebogsnummer" er Null), så popper fejlmeddelelsen selvfølgelig op, da udregnede felter med tal-format ikke kan have værdien Null (eller hur?). Det er selvfølgelig også et problem, når der indtastes et nummer, som slet ikke findes i tabellens kolonne "gl. salmebog".
Jeg håber, at jeg har udtrykt mig klart nok til at kunne få lidt hjælp... hvad gør jeg for at null-fejlen bliver ignoreret - eller helst: at der dukker en kort besked frem på skærmen: "Denne salme findes ikke i enten den nye eller den gamle salmebog"...?
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.
Så har jeg set jeres hjælp. Tak for det. Men jeg kan altså ikke få skidtet til at virke.
Her er den funktion, som jeg har sat ind i "efter opdatering" i feltet for indtastning af gammelt salmenr:
Private Sub Tekst22_AfterUpdate()
Dim varSalme As String varSalme = DLookup("[ny]", "gamlenr", "[gl]= " & Me![Tekst22]) Me.Tekst20 = varSalme
Dim varTekst As String varTitel = DLookup("[titel]", "gamlenr", "[gl]= " & Me![Tekst22]) Me.Tekst24 = varTitel
End Sub
Funktionen finder via tabellen "gamlenr" frem til såvel nummer i den ny salmebog som titel.
MEN... desværre er der jo en del salmer fra den gamle salmebog, som slet ikke er kommet med i den nye - og derfor er der i disse tilfælde intet "output" (i feltet "Tekst20".
Af statistiske årsager har jeg valgt at salmenumrene skal være i tal-format og ikke tekst-format... Det eneste problem jeg har er de dumme fejl-beskeder, når jeg kommer til at indtaste nummeret for en salme, der ikke findes i én eller begge salmebøger...
Du skal bruge hændelse i formularen, vedFejl. Så skal det kun indskrives det ene sted:
Private Sub Form_Error(DataErr As Integer, Response As Integer) If DataErr = 94 Then MsgBox "Salmen findes ikke" Response = acDataErrContinue End If End Sub
varSalme = DLookup("[ny]", "gamlenr", "[gl]= " & Me![Tekst22]) if Not IsNull(varSalme) then Me.Tekst20 = varSalme else msgbox "Beklager dette nummer findes ikke i den gamle salmebog" end if
Jeg kan se at jeg var ikke involveret med dette sp? måske derfor :o)
Men min holdning er, at hvis man kan gøre det rigtig (uden fusk) så skal man, og det kan man lige så godt prøv at overbring to personen der stiller sp. så de kan lære (håber du forstår min dansk :o)
>> terry Det er rigtigt, men så skal der jo flere komplexe løsninger til med det vigtigste ERROR behandling af hvert svar, hvor databasen skal udsendes til alle, der så giver bud på en løsning, med den ulempe, der ikke er noget der hedder hurtige svar. Jeg vil lige sige også, at det ikke var min løsning der blev valgt, i det spam (http://www.eksperten.dk/spm/365794). Vh Henrik
Jo. Jeg valgte ikke Henriks forslag, fordi jeg ønskede at have det hele i én formular. Men det er en hel anden historie (http://www.eksperten.dk/spm/365794)
Henrik - du har da løst mit problem denne gang. Jeg er også glad for alle de forslag I andre har givet - bortset fra at jeg ikke kunne få dem til at virke nogen af dem.
En anden ting er, at jeg selv delvist løste problemet ved at sætte værdien "0" ind, hvor der manglede data i salmetabellen. Herved blev Error 94 problemet meget mindre.
Henrik - man kan vel sige, at du har løst mit problem... Hvordan.. Tja, det må jeg lige finde ud af ved at kigge på den mdb-fil, du har sendt tilbage.
Har jeg ret i, at Henrik fortjener pointene? Terry - du får også nogle!
Tak for hjælpen. Desværre tror jeg snart, at jeg vender tilbage... Jeg har gang i noget andet spændende... Bla. en database, hvor jeg knokler med at finde ud af, hvordan man finder forskellige aldre ud fra CPR-NR og dags dato... vel og mærke PRÆCIST! Men det må jeg jo ikke begynde at spørge om her, da det er et helt andet spørgsmål.
Ok Jeg stiller dig et nyt spørgsmål, som du nok kan svare på ;o)
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.