vba code gelijke waarde zoeken in tabel, long text

Status
Niet open voor verdere reacties.

vbjohan

Nieuwe gebruiker
Lid geworden
11 okt 2016
Berichten
3
Hallo,

Ik zit een beetje vast.
Ik zou graag een gelijke waarde zoeken in 2 tabellen, waarde zijn cijfers (ean code) in een long text veld,

Dus volgend vergelijken, Waarde 1 : Tabela -> ean, Waarde 2 : tabelb -> vak1 en dan selectie vakje = waar als de waarden overeen komen.

Zoiets als :
Update tabela set vakje = waar where (SELECT vak1 FROM tabelb = ean)

Iemand een idee, ik kom er niet uit.

Alvast bedankt
 
Drie keer overlezen, en nog steeds niet snappen wat je bedoelt. Je vraagt iets over een waard zoeken, maar je geeft een voorbeeld van een update query. Dat zijn verschillende zaken. Verder kan ik er zonder voorbeeldje weinig van maken...
Welkom bij HelpMij trouwens :).
 
OK, ik probeer het te verduidelijken :-)

Dus ik heb :

TabelA
Hierin zitten product gegevens, waaronder een veld met EAN code.

TabelB
Deze wordt gevuld met een extern .txt document en bevat ook een veld met EAN code

(In beide tabellen staat de EAN code in veld met als veldtype "lange tekst")


Nu zou ik in "TabelA" een veld met selectie vak op "waar" moeten zetten als die EAN ook voorkomt in "TabelB"

Dat lukt me met alle tabellen met nummers, maar blijkbaar met "lange tekst" is dat niet zo evident?
 
Kijk, daar raak je mij dus al kwijt...
(In beide tabellen staat de EAN code in veld met als veldtype "lange tekst")
In alle Access versies die ik gebruikt heb zít namelijk geen veldtype <Lange tekst>. Ik ken alleen Tekst, of Memo. En dat laatste is eigenlijk onbruikbaar omdat je daar niet zo heel veel acties op los kunt laten. Bovendien: waarom zou je een veld met een max grootte van 65.000 tekens gebruiken voor een EAN code? Daar is een gewoon tekstveld meer dan voldoende voor. Tenzij je koppelt met een SQL server database of een andere backend db.

Daarnaast is het helemaal niet handig om afhankelijke informatie op te slaan in een tabel, dat kun je prima met queries achterhalen. En die zijn dynamisch, wat veel beter is. Neem bijvoorbeeld het simpele geval dat je in tabel A een vinkje hebt gezet (veld is aanwezig in B), vervolgens blijkt het veld in tabel B een andere waarde te hebben gekregen waardoor de match niet meer opgaat. Wie ziet dat? Niemand, want je vinkje blijft gewoon aan staan. Had je een query gebruikt, dan valt het vinkje gelijk weg omdat de match er niet meer is. Dus wat is het voordeel om er een tabelveld voor te gebruiken? Ik zie dat niet.

Maar zoals ik al zei: het kan best met een query, mits je de juiste functie gebruikt. Nog zo'n puntje: waarom zou je dat met VBA doen? Je kunt gewoon de functie Instr() gebruiken waarmee je controleert of een veldwaarde in A voorkomt in een veld in B.
Code:
Match: IIf(InStr(1;A.[EAN];B.[EAN])>0;Waar;Onwaar)
 
OctaFish , je hebt me op het juiste spoor gebracht :d

Bedankt voor je hulp
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan