expressies in query's en filters: middelste stuk uit veld laten zien...

Status
Niet open voor verdere reacties.

emel01

Gebruiker
Lid geworden
10 jan 2008
Berichten
146
hi

ik heb een kolom met een code, deze code is gegenereerd uit een ander systeem. probleem is dat er punten staan in deze code:

01.100.00

ik wil een kolom toevoegen en al deze punten eruit halen...

het is me wel al gelukt de "01" te laten zien, maar de 100 is een probleem:

mijn code:

afvalcodes: Left([Afvalcodes_onbewerkt]![Veld1];2)

prima, nu het middelste stuk (de "100")

+Mid([Afvalcodes_onbewerkt]![Veld1],4,3)

(als ik , vervang door ; (de eerste) dan geeft hij sowieso een syntax fout, maar met 2x een komma, gaat het ook mis (wel geen syntax fout)

ik wil dan ook nog eens die laatste 00 eruit halen, dan moet dan met right , dat zien we dan wel weer....

iemand?
thanx
m.
 
Heb je al eens geprobeerd met een replace.

Code:
dim strInput as String

StrInput  = replace(Afvalcodes_onbewerkt,".","")

Me.Veld1 = StrInput

Groetjes
Romain
 
hallo

dit lukt niet, hij zegt steeds dat die 1e komma daar fout staat (althans daar gaat de cursor naartoe +foutmelding).

:/
 
hi
ik heb dit idd geprobeerd met left mid right,


de left is prima

maar hij gaat de mist in bij mid

afvalcodes: Left([Afvalcodes_onbewerkt]![Veld1];2)+Mid([Afvalcodes_onbewerkt]![Veld1],4,2)+Right([Afvalcodes_onbewerkt]![Veld1];2)

hij beweert dat de komma voor de 4 foutief is (vanaf 4e teken, dus 0, dan vervolgens 2 tekens, (2x0)....

de code waaruit punten moeten wroden verwijderd is de deze:
01.00.100

zit hier echt vast...://
 
Vervang de komma in de code eens door een puntkomma, het lijkt of dat je dit als scheidingsteken hebt staan
 
hi

ik heb daar al mee gestoeid.... toch bedankt...

wat ik nu krijg is dit:

0100.10000
orgineel veld is :01.00.100

met query:
afvalcodes: Left(Afvalcodes_onbewerkt!Veld1;2)+Mid(Afvalcodes_onbewerkt!Veld1;4,2)+Right(Afvalcodes_onbewerkt!Veld1;2)

als ik de right weghaal krijg ik:
0100.100

het is dus een grote soep :(
 
Onderstaande code verwijderd de punten uit een string:

Code:
Public Sub subVoorbeeld()
    Dim strTemp As String
    
    strTemp = "01.00.100"
    MsgBox fnRemoveChars(strTemp, ".")
End Sub

Public Function fnRemoveChars(mstrInput As String, mstrChar As String) As String
    Dim strRes As String
    
    If Len(mstrInput) < 2 Then
       fnRemoveChars = mstrInput
       Exit Function
    End If
    
    If InStr(1, mstrInput, ".") = 0 Then
       fnRemoveChars = mstrInput
       Exit Function
    End If
    
    Do While InStr(1, mstrInput, mstrChar)
        strRes = strRes & CStr(Left(mstrInput, InStr(1, mstrInput, mstrChar) - 1))
        mstrInput = CStr(Right(mstrInput, Len(mstrInput) - InStr(1, mstrInput, mstrChar)))
    Loop
    fnRemoveChars = strRes & mstrInput
End Function
 
Even voor m'n beeldvorming: je originele veld heet veld1 en er staat altijd iets in van
x.y.z? Waarbij x, y en z een onbekend aantal digits hebben?
 
ja, is altijd veld1, daar staat code die altijd als volgt is opgebouwd:

XX.XX.XXX
2 cijfers PUNT 2 cijfers PUNT 3 cijfers.
x, y, z snap ik niet zo goed wat je daarme bedoelt? sorry ben nog niet zo ver met access.

bedankt
mel.
 
Dan kun je dat zo doen:
Code:
afvalcodes: Replace([Veld1];".";"")
Of in de SQL editor:

Code:
SELECT Veld1, Replace([Veld1],".","") AS Afvalcodes
FROM Afvalcodes_onbewerkt;
 
Laatst bewerkt:
rene, je 1e code werkt perfect, super bedankt, lekker simpel zo.

die 2e code, als ik deze probeer in de "opbouwfuncties voor expressies", dan krijg ik foutmelding.. zit ik verkeerd dan?
 
Ik neem aan dat je in de access query builder zit. Je hebt dan in het menu beeld de opties
ontwerpweergave
sql ontwerp
datasheet weergave
(sorry ik heb de engelse versie, dus de namen kunnen iets anders zijn dan ik ze vertaald heb)
Als je naar de SQL editor gaat zul je zien dat er zoiets staat als ik je had laten zien, maar dat zet access er nogal wat code voor de veiligheid omheen, omdat de query builder tool een algemene oplossing biedt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan