if en else

  • Onderwerp starter Onderwerp starter musti
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

musti

Gebruiker
Lid geworden
26 feb 2006
Berichten
143
ik zit met het volgende probleem,

wanneer een veld twee getallen bevat dan moet het komende veld de gewenste tekst krijgen,
wanneer een veld 3 getallen bevat dan moet hetzelfde veld een andere tekst krijgen etc.

bijv.

if veld. = .. then
veld = "fefef"

ik weet niet welke code er moet staan na "veld." is dat size of wat anders?
 
Laatst bewerkt:
ik zit met het volgende probleem,

wanneer een veld twee getallen bevat dan moet het komende veld de gewenste tekst krijgen,
wanneer een veld 3 getallen bevat dan moet hetzelfde veld een andere tekst krijgen etc.

bijv.

if veld. = .. then
veld = "fefef"

ik weet niet welke code er moet staan na "veld." is dat size of wat anders?


Ik snap niet wat je in veld hebt staan. Soms 1 cijfer (1), soms 2 cijfers (12) soms 3 cijfers (123).
Graag even wat meer uitleg.
Wim
 
Ik snap niet wat je in veld hebt staan. Soms 1 cijfer (1), soms 2 cijfers (12) soms 3 cijfers (123).
Graag even wat meer uitleg.
Wim

als er in een veld(laten we pakweg nummer nemen) 1 getal(bijv. 1,2,3 etc.) staat dan moet er in het veld (bijv link) de tekst "0" weergegeven worden. bij 2 getallen(10, 11 ,30 etc.) de tekst "00" enz.
 
als er in een veld(laten we pakweg nummer nemen) 1 getal(bijv. 1,2,3 etc.) staat dan moet er in het veld (bijv link) de tekst "0" weergegeven worden. bij 2 getallen(10, 11 ,30 etc.) de tekst "00" enz.

Zoiets:
Code:
veldtekst =""
for a = 1 to len(veld)
  veldtekst = veldtekst & "0"
next a
 
Zoiets:
Code:
veldtekst =""
for a = 1 to len(veld)
  veldtekst = veldtekst & "0"
next a

het gaat om de textsize.

if nummer = alleen 1 getal then
link = "0"
else if nummer = 2 getallen then
link = "00"

als er dus 1 getal(0,1,2,3,4,5,6,7,8,9) aanwezig is in het veld dan moet de tekst "0" worden getoond in de andere veld(link)

als er 2 getallen(11,12,21,33,66,88) aanwezig is dan moet er automatisch de tekst "00' worden getoond in het desbetreffende veld link.

als er 3 getallen(111,122,214,334,664,889) aanwezig is dan moet er automatisch de tekst "000" worden getoond in het desbetreffende veld link.


Het gaat puur om de hoeveelheid getallen.
 
Als ik het nu goed begrijp dan heb je een tekst veld met daarin een string van getallen gescheiden door een komma.
Dan zou dit moeten werken
Code:
veldtekst =""
for a = 1 to Instr(1,veld,",")-1
  veldtekst = veldtekst & "0"
next a

De Instr() bepaald de eerste positie van een komma.
Bij (1,2,3,) geeft dit de waarde 2. Dus er één vanaf te trekken geeft de hoeveelheid cijfers.

Succes
Wim
 
Als ik het nu goed begrijp dan heb je een tekst veld met daarin een string van getallen gescheiden door een komma.
Dan zou dit moeten werken
Code:
veldtekst =""
for a = 1 to Instr(1,veld,",")-1
  veldtekst = veldtekst & "0"
next a

De Instr() bepaald de eerste positie van een komma.
Bij (1,2,3,) geeft dit de waarde 2. Dus er één vanaf te trekken geeft de hoeveelheid cijfers.

Succes
Wim


hier kan je toch ook een if else constructie gebruiken.
 
Waarom zou je dat willen. Volgens mij werkt mij code voortreffelijk.
Dus een if then else lus is helemaal niet nodig.

Wim

ik heb het volgende gedaan:

nummers = ""
For a = 1 To InStr(1, Factuurnr2008, ",") - 1
nummers = nummers & "0"
Next a
End Sub



maar is niet gelukt
 
ik heb het volgende gedaan:

nummers = ""
For a = 1 To InStr(1, Factuurnr2008, ",") - 1
nummers = nummers & "0"
Next a
End Sub



maar is niet gelukt

ALs je een veld van je formulier wilt gebruiken dan moet je dat ook aangeven.
Normaa doe je dat met
Code:
Me!Factuur2008

Me! geeft aan dat je het geactiveerde formulier gebruikt en daar op het veld [Factuur2008]

Probreer daar evn iets mee

Wim
 
Weest creatief:

Ongeacht hoe lang het getal is, onderstaande code geeft je een gelijk aantal nullen terug.
Code:
link = replace(space(len(Cstr(Factuurnr2008)))," ","0")
Maar waarvoor je dat wil gebruiken is mij een raadsel.

Wat gebeurt er:
Factuurnr2008 wordt geconverteerd naar een string. Van de string wordt de lengte bepaald. De functie space geeft je een aantal spaties terug die replace dan weer vervangt door nullen.

HTH:D
 
Ongeacht hoe lang het getal is, onderstaande code geeft je een gelijk aantal nullen terug.
Code:
link = replace(space(len(Cstr(Factuurnr2008)))," ","0")
Maar waarvoor je dat wil gebruiken is mij een raadsel.

Wat gebeurt er:
Factuurnr2008 wordt geconverteerd naar een string. Van de string wordt de lengte bepaald. De functie space geeft je een aantal spaties terug die replace dan weer vervangt door nullen.

HTH:D

Guus2005,

Sorry dat ik even reageer, maar

Je raakt nu net het probleem waar ik vanaf het begin al mee bezig ben.
Het schijnt dat de string een opsomming van getallen is gescheiden door een komma.
Wat Musti wil weten is welke lengte ieder getal heeft in de string.
Dus alleen het vervangen van iedere waarde door een "0" geeft niet het gewenste antwoord.

Wim
 
ik heb het volgende gedaan:

nummers = ""
For a = 1 To InStr(1, Factuurnr2008, ",") - 1
nummers = nummers & "0"
Next a
End Sub
Code:
Me!nummers = ""
For a = 1 To InStr(1, Me!Factuurnr2008, ",") - 1
  Me!nummers = Me!nummers & "0"
Next a
End Sub

Waarbij zowel "nummers" als "Factuurnr2008" velden zijn op je formulier en velden zijn in het record.

Wim
 
Code:
Me!nummers = ""
For a = 1 To InStr(1, Me!Factuurnr2008, ",") - 1
  Me!nummers = Me!nummers & "0"
Next a
End Sub



Waarbij zowel "nummers" als "Factuurnr2008" velden zijn op je formulier en velden zijn in het record.

Wim




ok, bij welke veld moet de code dan staan en waar precies?(na bijwerken, openen etc.)
 
ok, bij welke veld moet de code dan staan en waar precies?(na bijwerken, openen etc.)


Dat is een beetje afhankelijk va he formulier dat je hebt gemaakt, maar in principe zou je dit bij het 'Bij aanwijzen' van het formulier kunnen doen.
Dan wordt iedere keer dat een nieuw record wordt getoond de waarde opgebouwd.

Wim
 
Dat is een beetje afhankelijk va he formulier dat je hebt gemaakt, maar in principe zou je dit bij het 'Bij aanwijzen' van het formulier kunnen doen.
Dan wordt iedere keer dat een nieuw record wordt getoond de waarde opgebouwd.

Wim

ik weet het niet meer....

ik probeer het maar zo,

If Factuurnr2008 = "1" Or Factuurnr2008 = "2" Or Factuurnr2008 = "3" Or Factuurnr2008 = "3" Or Factuurnr2008 = "4" Or Factuurnr2008 = "5" Or Factuurnr2008 = "6" Or Factuurnr2008 = "7" Or Factuurnr2008 = "8" Or Factuurnr2008 = "9" Then
nummers = "0000"
ElseIf Factuurnr2008.Value = "11" Or Factuurnr2008 = "12" Then (etc.)
nummers = "000"
End If
 
ik weet het niet meer....

ik probeer het maar zo,

If Factuurnr2008 = "1" Or Factuurnr2008 = "2" Or Factuurnr2008 = "3" Or Factuurnr2008 = "3" Or Factuurnr2008 = "4" Or Factuurnr2008 = "5" Or Factuurnr2008 = "6" Or Factuurnr2008 = "7" Or Factuurnr2008 = "8" Or Factuurnr2008 = "9" Then
nummers = "0000"
ElseIf Factuurnr2008.Value = "11" Or Factuurnr2008 = "12" Then (etc.)
nummers = "000"
End If


musti,

Ik weet het nu ook niet meer, want in een vorige post zij je dit
als er dus 1 getal(0,1,2,3,4,5,6,7,8,9) aanwezig is in het veld dan moet de tekst "0" worden getoond in de andere veld(link)

als er 2 getallen(11,12,21,33,66,88) aanwezig is dan moet er automatisch de tekst "00' worden getoond in het desbetreffende veld link.

als er 3 getallen(111,122,214,334,664,889) aanwezig is dan moet er automatisch de tekst "000" worden getoond in het desbetreffende veld link.

Het lijkt er op dat je nu weer iets heel anders wilt bereiken.

Ik kan je nu alleen nog maar verder helpen als je een voorbeelbestandje stuurt vanwaaruit ik kan opmaken wat je wilt bereiken.
Nu is het voor mij volledig onverklaarbaar wat je wilt.

Treur niet, ik blijf je helpen

Wim
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan