Specifieke tekst zoeken in Exel en Word met Access 2003

Status
Niet open voor verdere reacties.

Ger Esten

Nieuwe gebruiker
Lid geworden
8 jan 2011
Berichten
4
Is het mogelijk vanuit Access te zoeken naar willekeurige tekst in Word en Exel
Het opzoekscherm in Access de weer te geven tekst en in het overzicht waar deze tekst is gevonden.
Mag gerust op de "findnext" lijken maar in principe blijft het Exel en het Word bestand
voor de gebruiker gesloten.
Ben een beginner op gebied van Access en wat VBA betreft leef ik nog in de prehistorie,
elke hulp om de goede weg te vinden is van harte welkom.

Groet Ger Esten
 
Wat wil je precies? Begrijp ik goed dat je een Access database hebt, waarin je op een bepaald moment iets wilt kunnen opzoeken in een Word bestand of een Excel bestand? Hoe moet ik mij die zoekfunctie voorstellen? Heb je een formulier waarin je een record ziet, en wil je de inhoud van een bepaald (of elk?) veld kunnen opzoeken? En wat moet er terug worden geleverd na de zoekactie? Het hele document, of de alinea, of de zin, of de plaats van het woord in het document (bij Word), of het Celadres, of de inhoud van de hele cel (bij Excel)? En moet er in een bepaald document worden gezocht, of in alle documenten in een bepaalde map?
 
Michel precies goed

Geef even een voorbeeld:
In een map zijn alle CV's van personeelsleden opgeslagen, deze staan ook in een tabel in de database, wanneer er iemand op grond van zijn competenties wordt gezocht zou dat gemakkelijk zijn als er in de database een zoekveld zou kunnen worden geopend waarin het zoekcriterium komt te staan. Stel ik zoek iemand die iets met kunst te maken heeft dan zou ik *kunst of kunst* of *kunst* kunnen invoeren al naar gelang ik zoek
dus zou ook kunstenaar of kunstwerken maar ook kunst. De zoekopdracht zou de map of zelfs de persoon moeten kunnen retourneren van de persoon die aan die kwalificatie voldoet. Mijn inziens het is mogelijk om een Worddocument te mergen dus zou dat omgekeerd toch ook mogelijk moeten zijn?
Mijn eigen idee is een tabel te koppelen aan een Word/Exelbestand klinkt dat logisch?
Michel reeds dank voor je snelle reactie
 
Het gegeven dat een bepaalde handeling omkeerbaar moet zijn, is natuurlijk niet helemaal correct... Water+Cement+Zand --> beton is een proces dat niet echt omkeerbaar is, om maar eens een voorbeeld te geven. En hetzelfde geldt voor een samenvoegdocument in Word. Dat wordt gemaakt met bouwstenen (Word samenvoegvelden+Excel cellen), maar levert een nieuwe entiteit op (Word document) dat in zijn geheel ondeelbaar is. En dat kun je dus nooit meer 'terugvertalen' naar je samenvoegdocument.
Om te zoeken binnen een Word- of Excel document, gaat dit onderdeel van je verzoek ook niet op:
in principe blijft het Exel en het Word bestand voor de gebruiker gesloten.
Om de te zoeken tekst terug te vinden, moet het document namelijk wel worden geopend. Gelukkig (voor jou) kun je de hele procedure redelijjk 'verborgen' uitvoeren. Je opent dus in Hidden mode je document, voert daarin een zoekactie uit, die dan een TRUE of FALSE oplevert; ik begrijp althans uit de vraag dat het voldoende is als je weet dat de zoekterm is gevonden. En dat maakt de klus wel wat makkelijker (gelukkig...)

Wat je dus nodig hebt, is een routine die:
1. de gebruiker een (begin)map laat kiezen (al kan je dat ook vanuit een standaardmap opstarten)
2. met loopje de verschillende programma's start en daar de ingebakken zoekfunctie gebruikt om de gevraagde tekst te zoeken
3. TRUE oplevert als de tekst is gevonden, en FALSE als dat niet zo is
4. De gevonden documenten (bijvoorbeeld) in een nieuw (tekst)veld zet
Zoiets?
 
Programmacode

Michel je hebt natuurlijk gelijk vaak laat ik mijn gevoel in dit soort problemen de vrije loop en neem dan de verkeerder ingang.
Hoe ziet de meest elementaire programmacode er volgens jou uit zelf denk ik iets met
"Creatobject" volleerd ben ik hier echter niet in.
Als zoekfilter gebruik ik in de database de routine "Filter as you type" dit werkt intern fantastisch maar naar Word of Exel wordt het toch een iets ander verhaal.
Wanneer je me alleen maar op weg zou kunnen helpen, ja,ja ik weet het dan moet ik bij de ANWB zijn, met wat begincode.
Alvast veel dank

Ger Esten
 
CreateObject heb je inderdaad nodig om een aantal programma's te openen. Maar daarbij heb je ook nog een Dir loop nodig om de map te openen, en een routine om de map te selecteren (tenzij dat niet nodig is).
In de programma's die je met CeateObject opent, moet je het zoekcommando opstarten; de zoektekst is de gefilterde tekst die je uit Access haalt. Omdat alles vanuit Access gestuurd wordt, is het niet zo heel lastig om die waarde 'over te hevelen', maar de juiste syntax is uiteraard iets lastiger.
Het zou al schelen als je een voorbeeldje met een formulier zou kunnen posten dat we als basis kunnen gebruiken (liefst in 2003 format) omdat het een dermate specifieke vraag is, dat het lastig is om een algemene richtlijn te maken/geven. En dat scheelt ons en jouw uiteindelijk veel tijd...
 
Michel nader uitleg zie bijlage

Michel zie bijlage, hoor van je, moet nu afsluiten mijn echtgenote vraagt wat kwaliteitstijd en op straffe van twee jaar geen sex doe ik maar wat ze verlangt.
Prettig weekend.

Ger Esten
 

Bijlagen

  • Michel nadere uitleg.zip
    82,4 KB · Weergaven: 53
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan