Oprettet fre. d. 10. december 2004 kl. 15:52:45

puppetmaster
puppetmaster (11.732 point. Point ude: 15)

komma i værdier i liste

Min komboliste kan indeholde værdier med kommaer, hvilket giver problemer når jeg vil f.eks. hive værdierne ind i et array.
For i = 0 To frm.Controls(kontrol(ControlNumber).name_2).ListCount - 1
Debug.Print frm.Controls(kontrol(ControlNumber).name_2).Column(0, i)

Hvordan kan man "hakke" værdierne i en liste op, så f.eks.
ABINGDON, UK
UK
Kbh H, Denmark
Denmark

kommer til at stå som ovenstående i stedet for
ABINGDON
UK
UK
Kbh H
Denmark
Denmark

De på listen valgte værdier bruges i en formular-filterstreng

Skrevet fre. d. 10. december 2004 kl. 16:04:03| #1

philip1804
philip1804 (13.714 point)
Kender ikke access, men vil tro at det vil virke med et "\" foran et komma -

ABINGDON\, UK
UK
Kbh H\, Denmark
Denmark

Skrevet fre. d. 10. december 2004 kl. 16:20:04| #2

puppetmaster
puppetmaster (11.732 point)
Jeg vil IKKE skrive \ foran noget som helst, jeg vil FORHINDRE Access i at dele værdierne:
ABINGDON, London er IKKE 2 separate værdier, men én værdi

Skrevet fre. d. 10. december 2004 kl. 22:29:07| #3

staticdata
staticdata (14.989 point)
Rolig nu, phillip1804 foreslår, at du skriver "\," i stedet for "," i dine tekststrenge for at få det til at virke.

Skrevet man. d. 13. december 2004 kl. 09:46:40| #4

puppetmaster
puppetmaster (11.732 point)
Hmm...jeres forslag ligner noget fra ASP.
Jeg kan IKKE bede brugerne om at indtaste \ foran , eller '
det vil være umuligt at styre.
For at anskueliggøre problemet lidt bedre, er her hvad der kommer i min SELECT (SQL streng):

Først navnene, dernæst hvordan de kommer til at se ud i min connect streng
Birds Eye Wall's Ltd
Cornic S.A.
Bremerhaven, Germany

(([Kundenavn] LIKE 'Birds Eye Wall's Ltd')
(([Kundenavn] LIKE 'Cornic S.A.')
(([Oplastningssted] LIKE 'Bremerhaven') or ([Oplastningssted] LIKE 'Germany')

Første linie fremkalder en fejl, da der indgår et ulige antal '
Anden linie er der ingen problemer med
Tredje linie bliver jo, som det kan ses, delt i 2, hvilket er "forkert".

Skrevet man. d. 13. december 2004 kl. 10:02:01| #5

puppetmaster
puppetmaster (11.732 point)
Problemet er jo at jeg ikke bare kan fjerne ' og , fra strengen, da dataene bliver sammenlignet med det der står i tabellerne.

Skrevet man. d. 13. december 2004 kl. 10:19:05| #6

puppetmaster
puppetmaster (11.732 point)
Koden som formaterer en del af forespørgselsstrengen:
FilterTekst = FilterTekst & "([" & kontrol(ControlNumber).ControlSource & "] LIKE '" & frm.Controls(kontrol(ControlNumber).name_2).Column(0, i) & "')"

Skrevet man. d. 13. december 2004 kl. 10:46:58| #7

puppetmaster
puppetmaster (11.732 point)
Den med komma kan vi godt glemme, det er noget i koden der "går galt"! :(
Debug.Print frm.Controls(kontrol(ControlNumber).name_2).Column(0, 0)
(giver det forkerte resultat)
Debug.Print Forms("Søg i Ordreseddel").Controls("felt_1").Column(0, 0)
(giver det rigtige resultat)

men der mangler stadig noget omkring '

Skrevet man. d. 13. december 2004 kl. 11:50:26| #8

puppetmaster
puppetmaster (11.732 point)
Løsningen på ' problemet var at tilføje endnu en ':
Replace(frm.Controls(kontrol(ControlNumber).name_2).Column(0, i), "'", "''")

(kan sgu ikke helt se i koden hvor det andet går galt.... :()

Skrevet man. d. 13. december 2004 kl. 18:18:19| #9

staticdata
staticdata (14.989 point)
Prøv at bruge "A" & "," & "B" for at få "A,B".

Skrevet tir. d. 14. december 2004 kl. 08:07:37| #10

puppetmaster
puppetmaster (11.732 point)
Er ikke helt sikker på at du er med på hvad jeg mener (eller også er det mig der ikke fatter din forklaring!)

en af værdierne i min dropdown liste kunne være
Kbh H, Denmark

Hvis jeg forsøger at Debug.Print'e denne værdi med
Debug.Print Forms("Søg i Ordreseddel").Controls("felt_1").Column(0, i)
får jeg det rigtige resultat.
Men vedkommende som har lavet programmet (jeg har bare overtaget udviklingen af systemet), bruger denne stump kode til at hente værdierne i listen
Debug.Print frm.Controls(kontrol(ControlNumber).name_2).Column(0, 0)
Som giver det forkerte resultat
(værdien bliver af en eller anden grund splittet til 2 værdier, hvis værdien har et komma, 3 værdier, hvis der er 2 kommaer og så fremdeles)

Skrevet tir. d. 14. december 2004 kl. 12:35:14| #11

staticdata
staticdata (14.989 point)
Det var vist mig, der ikke helt forstod hvad du mente...

Skrevet tor. d. 16. december 2004 kl. 11:34:44| #12

puppetmaster
puppetmaster (11.732 point)
Problemet løst ved at gennemløbe variablen og udskifte ' med ''
Replace(rst2("minVar"), "'", "''")

Skrevet tor. d. 16. december 2004 kl. 11:35:03| #13

puppetmaster
puppetmaster (11.732 point)
Lukker spørgsmålet igen...

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Link til et dokument

Oprettet den 10. februar 2012 kl. 14.15
omn giver 60 point for svar | Giv et svar »

Formular med flere paramtre

Oprettet den 9. februar 2012 kl. 16.48
stuegnu giver 100 point for svar | Giv et svar »

Kodemodul ???

Oprettet den 8. februar 2012 kl. 17.05
olejohn giver 200 point for svar | Giv et svar »

Seneste guides

Installer win 7
Den gode bruger


   




Tips & Tricks fra PC World

Teaser billede

Her er fem sjove danske websider du skal kende

Trænger dine lattermuskler til en omgang fitness på dansk? Vi viser vej til fem websider fyldt med humor og vanvittig satire.


Anmeldelser fra PC World

Teaser billede

Test: Denne super-tablet er iPads hårdeste konkurrent

Eee Pad Transformer Prime er frygtindgydende med sin quadcore processor og evne til at trylle sig om til bærbar. Apple bør kigge i bagspejlet, for Asus' tablet-pc kommer buldrende - og gør det...


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Nu kan du snart hente Windows 8

Den nye offentlige betaversion af Windows 8 er klar i denne måned.


Nyheder fra Computerworld

Teaser billede

Måske snart slut med Androids helt store problem

Android-platformen har længe været plaget af et særligt problem. Men måske er problemet nu ved at være elimineret.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger