Avatar billede skovge Novice
02. december 2004 - 14:49 Der er 6 kommentarer og
1 løsning

Hjaelp til errorhandling

Jeg er ved at lave errorhandling paa input i en formular til min database. Jeg vil gerne kontrollere inputtet i den foerste textbox area_box (primaernoelge i DB) for om det er NULL, " ", eller der er duplikerede data i DB - jeg har kort sagt 3 problemer pt:
1. Til den foerste del har jeg forsoegt med area_box.value/area_box.text = NULL/" "/"" -  og Len(area_box.text) = 0, men kan ikke det til at virke.
2. Med det andet skal jeg vel have sat en string = mit SELECT SQL udstryk eller lignende, men kan ikke helt hitte ud af syntaxen.
3. Naar jeg vil nulstille textboxen efter at have indsat data i DB, saa den er klar til nye input, er de eneste loesning jeg har fundet der virker:

area_box.SetFocus
area_box.value = " "
SendKeys "{BS}", 1  '(ellers starter naeste input jo med mellemrum)

osv. med de resterende bokse.

....men er der ikke en mere elegant metode - denne metode giver ogsaa problemer naar man har givet nogle af felterne on enter/change properties.

En laengere smoere - haaber I kan hjaelpe.  :O)
Avatar billede mugs Novice
02. december 2004 - 14:52 #1
1. If IsNull(Me.area_box) And if IsNull(Me.ares_box.text)
Avatar billede mugs Novice
02. december 2004 - 14:53 #2
2. Me.FELTNAVN = "et eller andet"

3. Me.FELTNAVN = Null
Avatar billede mugs Novice
02. december 2004 - 14:56 #3
For at kontrollere om der er dublerede poster i et felt, kan du f.eks benytte DCount:

Dim VARa As Long
If Me.NewRecord Then
VARa = Me.FELTNAVN
If DCount("*", "TABELNAVN", "[FELTNAVN] =" & VARa) > 0 Then
MsgBox "Der er allerede poster med denne værdi."
Me.Undo
Exit Sub
End If
End If
Avatar billede skovge Novice
03. december 2004 - 11:37 #4
Jeg har sgi lidt problemer med det sidste,

Dim x As Integer
Dim y As String
y = Me.Area_box

x = DCount("[Area]", "Areas", "[Area] = 'Kabul'")    :virker fint
x = DCount("[Area]", "Areas", "Val([Area]) =" Val(y)) :virker fint, hvis Area er et tal

...men det er det jo ikke, saa jeg vil goere saadan her

x = DCount("[Area]", "Areas", "[Area] = " &y)      : men DET virker ikke  :O(

Faar en runtime error 2471 der siger at: The object doesn't contain the automation object "Kabul"    (hvis nu jeg har valgt kabul i Area_box)
Avatar billede mugs Novice
03. december 2004 - 11:44 #5
Når det drejer sig om alfanumeriske felter, skal du have '' omkring. Hvis du lægger din e-mail, kan jeg sende dig en lille db der omhandler funktionen DCount.

x = DCount("[Area]", "Areas", "[Area] = 'y'")
Avatar billede skovge Novice
03. december 2004 - 12:11 #6
Jeg har faktisk proevet med 'y' uden held!!?  :o(

Du maa meget gerne sende mig den DB

skovgaardj@isaf-hq.nato.int
Avatar billede mugs Novice
03. december 2004 - 13:07 #7
Sendt.
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