[access] string kopieren met '-teken probleem

Pagina: 1
Acties:
  • 117 views sinds 30-01-2008
  • Reageer

  • Toink
  • Registratie: Januari 2000
  • Niet online
Hallo allemaal,

Dit probleem is vast al tig keren uitgelegd, maar zoeken naar de oplossing ervoor met de search leverde 35 pagina's met 'relevante' topics op. Nadat ik er enkele had gechecked ben ik er maar mee gestopt omdat het zoeken leek naar een speld in een grote 'strings'hooiberg.

Het probleem:

Ik heb een bestaande database met een aantal klantgegevens. Voor een bepaalde klant is de woonplaats 's Hertogenbosch.
Deze klantgegevens wil ik kopieren naar een nieuwe database:

DoCmd.RunSQL ("insert into nw_klantgeg (accountnumber, name, adres, woonplaats) values ('" & accountnumber & "', '" & naam & "', '" & address & "','" & woonplaats & "');")

Zoals je ziet krijg je "'s Hertogenbosch".

Iemand hier een oplossing voor?

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
(jarig!)
kun je niet zoiets als addslashes/stripslashes toepassen?

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


  • Toink
  • Registratie: Januari 2000
  • Niet online
Ik heb zojuist even getest (maar ik weet niet exact wat je bedoelt). Ik ga er vanuit dat je bedoelt dat je iets met die ' moet doen zoals een / of \ ervoor oid...

Als ik er een van die tekens voorzet dan doet ie 't ook niet.

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
''s Hertogenbosch (dubbel ' dus :))

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
(jarig!)
Op maandag 24 september 2001 12:19 schreef Gert het volgende:
''s Hertogenbosch (dubbel ' dus :))
ja, dat doet me denken aan MS Excel
daar moest dat ook zo ja...

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


  • Toink
  • Registratie: Januari 2000
  • Niet online
2bad dat werkt dus niet met die dubbele ''

Ik heb een leuke functie die 1 ' vervangt door 2 '' (of 3 ''' -> wat jij wil ;) ) maar dan krijg ik nog steeds de melding dat de opgegeven string niet klopt.

  • Toink
  • Registratie: Januari 2000
  • Niet online
Opgelost! Deze functie doet precies wat ik wil maar je moet er dus wel voor zorgen dat je er niet zelf NOG een keer '' omheen zet :+ .

Bedankt iedereen.

Quotesrotzooien = _
strDelimiter & _
Replace(varValue, strDelimiter, strDelimiter & strDelimiter) & _
strDelimiter

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
(jarig!)
ik heb wel een idee waarom het niet werkt
code:
1
2
3
4
5
6
7
'" & woonplaats & "'

wordt

' 's Hertogenbosch '
  ^
 hier wordt het veld alweer gesloten! :(

hoe het op te lossen is?

De enigste oplossing lijkt mij dus de ' vervangen door een " maar dan weet ik niet of access het nog snapt... :(

zodat het dus wordt:

" 's Hertogenbosch "

anders zou ik het niet weten.
Sorry :'(

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


Verwijderd

Dit kan je voorkomen met SQL parameters. Ik moet bekennen dat het voor mij voor access een tijdje geleden. Als het echt nodig is kan ik thuis wel een voorbeeldje opduiken maar het komt hier grofweg op neer. Neem code dus niet te letterlijk, het is alweer tijdje geleden dat ik wat in access en vb heb gedaan het gaat om het idee.

1) Maak een query in access en zet er parameter defs in:
code:
1
2
3
4
5
PARAMETERS plaats String, datum DateTime;
insert into nw_klantgeg
woonplaats, datum)
values
(@plaats, @datum)

2) In code maak je deze query aan:
code:
1
2
3
4
5
Dim q As QueryDef
set q = currentDB.Queries["<hoe je 'm hebt genoemd>"]
q.Parameters["plaats"] = "Amsterdam"
q.Parameters["datum"] = Now
q.Execute
Pagina: 1