04. februar 2010 - 17:08 Der er 1 kommentar og
1 løsning

Undertrykke advarsel ved indfoerelse af ny vaerdi i tabel

I en ACCESS 2007 database har jeg, blandt andet, en tabel Telefon med felterne id, nummer, og notat.  Jeg vil (af bestemte grunde) lade brugerne indfoere nye telefonnumre fra en formular der er forbundet med en anden tabel.  Jeg har saa paa den formular indfoert tekstfelterne nummer og notat og en knap, og ved tryk paa knappen indfoeres de nye vaerdier i tabellen.  Saa langt saa godt. 

Jeg faar, naar jeg trykker paa knappen, den saedvanlige advarsel at jeg er i faerd med at indfoere en ny vaerdi.  Den vil jeg gerne i dette tilfaelde undgaa (fordi brugeren ved at trykke paa knappen allerede har bekraeftet sin hensigt.)  Kan jeg undgaa denne advarsel?  I saafald hvordan?

Koden ser saaledes ud: 

Private Sub nytTelefonnr_Click()
  DoCmd.RunSQL "INSERT INTO Telefon(nummer, notat) VALUES(""" & nummer & """, """ & notat & """);" 
End Sub

Et sidespoergsmaal/kommentar.  Jeg har skrevet koden efter eksempler i en tutorial (http://www.functionx.com/vbaccess/Lesson12.htm).  Jeg var overrakset over de mange """".  I en mysql omgivelse ville jeg, for at indfoere variable i tekstfelter, sige "INSERT ..... VALUES('$nummer', '$notat');  Her synes jeg foerst at indfoere en tom string, saa variabelen, og saa endnu en tom string.  Jeg har proevet uden de tomme stringe, men det virker ikke.  Kan nogen forklare hvad 'filosofien' er bag de mange tomme stringe?
Avatar billede fdata Forsker
04. februar 2010 - 23:58 #1
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO Telefon ...
DoCmd.SetWarnings True

Der er ikke tale om tomme strenge. Det er VBA's måde at repræsentere gåseøjne (").

Eksempel 1:
  "X" & 123 & "X" giver X123X

Da man omslutter tekststrenge med ", vil det naturligvis give problemer, hvis man vil inkludere en " i strengen. Derfor har de kloge besluttet - for at undgå ubalance i regnskabet - at man repræsenterer en " som "" (altså 2 stk)

Eksempel 2:
  """" & 123 & """" giver "123"

Eksempel 3:
  """ & 123 & """ er meningsløst og udløser en fejl

OK?
Avatar billede fdata Forsker
06. februar 2010 - 17:38 #2
Takker for point ;o)
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