Acces Query

Status
Niet open voor verdere reacties.
De TS vraagt om 3 verschillende scenario's vandaar dat tardis er vanuit gaat dat je 2x een - hebt.

1 Voor de kollom code het getal/tekst voor de - (kan ook spatie zijn).
2 Voor de kollom Pallet de getallen tussen het eerste - en het laatste - (kan ook spatie zijn).
3 Voor de kollom Aantal de getallen die na het laatste - staan (kan ook spatie zijn).

2-277395900-2

De module HOEF je niet te gebruiken, deze maakt het echter simpeler als je overmoet op mysql later (hoeft niet perse natuurlijk)
Overigens vind ik mijn query's niet "lelijker" dan die van tardis , waar hij trim en mid gebruikt, gebruik ik left. We gebruiken beide instr.
Wel ben ik met je eens dat ik tabel1. overal had weg kunnen laten, maar dat genereerde acces zelf :P (en ik was al lang blij dat ik kon uitvogelen hoe ik zelf een query mocht typen)


En TS heeft het er in zijn oorspronkelijke vraag over dat er behalve het - ook spaties als scheiding gebruikt worden. Dat werpt dan de vraag op of hij de volgende varianten bedoelt: " ", "-", "- ", en " -". En dan heb je natuurlijk een heel ander probleem.

Dat ben ik wel met je eens, maar daar zullen we feedback voor moeten krijgen.
 
Laatst bewerkt:
Beste Tardis en Mastermindzh ,

Hellaas ben ik maar een Leek, dus het meerendeel wat jullie neerzetten begrijp ik niet meteen.
Echter de formule op onderaan in de query te zetten van Tardis begrijp ik alleen hellaas werkt deze niet (acces 2003)

Hellaas kan ik niet de Om de module te testen in bovenstaande(downloadbare) database kan je de volgende query gebruiken:, dit is allemaal afgeschermd op mijn werk.
Mogelijkheid om dit vanavond te proberen thuis, echter zoals ik al zei ben ik een Leek.


Hopelijk kan iemand me helpen.
 
Ik heb het ook niet over de query, maar over de manier waarop de functie is gebouwd. Die kan een stuk netter, door niet door alle tekens te lopen, maar de string gelijk goed te splitsen. Bijvoorbeeld zo:

Code:
Public Function SplitVeld(Waarde As String, Delim As String, Optional Num As Integer) As String
Dim tmp As Variant

    tmp = Split(Waarde, Delim)
    If LBound(tmp) = UBound(tmp) Then
        SplitVeld = Waarde
        Exit Function
    End If
    If Num > UBound(tmp) Then Num = UBound(tmp)
    SplitVeld = Trim(tmp(Num))

End Function
@TS:
De queries van Tardis doen het prima in Access 2003, want die gebruik ik op die manier al jaren. Kwestie van even de juiste veldnamen invullen. Als je er niet uitkomt, post dan even hoe het veld bij jou heet, dan kunnen we je daar wel bij helpen. Maar zonder voorbeeldjes kunnen we natuurlijk ook niks.
 
Laatst bewerkt:
Ah ja, die module is nirt van mij hoor :D

de link waar ik hem vandaan heb staat erbij.
 
Beste OctaFish ,

Voor jou een kinderspel voor mij !!!

De kollom heet Lokatie zo had ik hem ingezet op advies van Tardis Trim(Mid("Lokatie";1;InStr("Lokatie";"-")-1)).


Ik heb geprobeerd er een bijlage van het acces bij te doen , maar werkt niet (denk ik afgeschermd door ons bedrijf). dus kan niet meer als wat ik nu laat zien.


Code Pallet Aantal
4-277407500-1 4-277407500-1 4-277407500-1
 
ALs je (dummy)code overneemt, is het wel belangrijk dat je goed leest, en hem dus goed overneemt. Zoek de verschillen :)
... Trim(Mid("Lokatie";1;InStr("Lokatie";"-")-1))
Code:
Code: Trim(Mid(Lokatie;1;InStr(Lokatie;"-")-1))
Pallet: Trim(Mid(Lokatie;InStr(Lokatie;"-")+1;InStrRev(Lokatie;"-")-InStr(Lokatie;"-")-1))
Aantal: Trim(Mid(Lokatie;InStrRev(Lokatie;"-")+1))

Overigens is het Gollum of Kolom; niet kollom ;)
 
Beste Alle,

Zoals ik al zei ben ik een leek, en weet nu wat ik verkeerd deed daarmee is de oplossing i.d.d. die tardis en jullie schreven allemaal wellicht goed.

Toch wil ik bij deze iedereen bedanken voor het mee denken, ik zal regelmatig op deze site aanwezig zijn om verder leering te verkrijgen over acces.

:):):):thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan