webbrowserfunctie koppelen aan gegevens in een veld

Status
Niet open voor verdere reacties.

Basbrommer

Gebruiker
Lid geworden
3 mei 2005
Berichten
101
Hallo,
Ik wil graag een formulier hebben waarin een map wordt geopend van een persoon met al zijn bestanden. Nu heb ik dat geprobeerd met een webbrowser functie (zie bijlage) maar ik weet niet hoe ik dat verder moet koppelen. Het is iedere keer een andere map die geopend moet worden als ik een ander persoon selecteer. De verwijzing staat in een tabel genaamd cursisten en het veld heet compnaam. Kan iemand mij daarbij helpen. Ik werk met access 2010. Hartelijk dank!

Groeten Bas Immerzeel
 

Bijlagen

  • webbrowserfunctie.jpg
    webbrowserfunctie.jpg
    97,3 KB · Weergaven: 19
Als je een alleen een map wilt openen, dan is dat simpel te doen met het commando FollowHyperlink.
Code:
Private Sub Omschrijving_Click()
    FollowHyperlink Me.Omschrijving, , True
End Sub
In dit voorbeeld heb ik een tekstvak Omschrijving waar de padverwijzing in staat. Die kun je ook simpel opbouwen met VBA als je een aantal vaste componenten hebt, zoals gebruikersmappen op basis van gebruikersnaam.
 
Waar kan ik dat commando plaatsen? Ik weet bijzonder weinig van VBA. Vandaar dat ik het ook probeer op te lossen met het invoegen van zo'n functie. Al kom ik daar ook niet uit. Verder klopt het dat de gebruikersmappen een vast component is. Het pad \\acjlsvr01\data\clienten\ is vast en daarin zitten de mappen van de personen. Hopelijk kan je me verder helpen.

Groeten bas
 
Je was al een eind op weg... De code zet je op een gebeurtenis van het tekstvak waarin je het pad opslaat. Bijvoorbeeld, zoals in mijn voorbeeld, de gebeurtenis <Bij klikken>. Je hoeft, als je een vast bestandspad gebruikt, het tekstveld ook niet te koppelen aan een tabel, zoals in mijn voorbeeld. Wel moet je de gebruikersnaam ergens vandaan halen. Dat zou dus in een tabelveld kunnen, of, als het om een pad voor de gebruiker van de db gaat, kan je het genereren. Dan ziet het commando er zo uit:

Code:
Private Sub Form_Current()
Dim sPad as String
    sPad="\\acjlsvr01\data\clienten\ & Environ("Username") & "\"
    Me.txtPadNaam.Value=sPad
End Sub
Code:
Private Sub txtPadNaam_Click()
    FollowHyperlink Me.txtPadNaam, , True
End Sub
De eerste code genereert het pad dat je in het tekstveld zet. De tweede code wordt geactiveerd als je op het tekstvak klikt. Je kunt de code kopieëren, en op het formulier te plakken; je hoeft alleen maar een tekstvak te maken met de naam txtPadNaam.
 
Hoi Michel,

Even thuis gekomen en gegeten.
Ik was onduidelijk. Wat ik vertelde over de gebruikersmappen klopt niet. In deze mappen staan gegevens over cursisten/clienten. Zij zelf komen niet bij deze mappen maar wij gebruiken ze wel omdat daarin gegevens zijn opgeslagen. Het komt er dus anders uit te zien. De naam die cursisten/clienten krijgen van ons wordt gebruikt voor de map met gegevens over deze persoon. De naam van de map is opgeslagen in het tabel cursisten onder het veldnaam compnaam. Nu ik thuis heb ik geen access 2010 maar wel 2003. Hopelijk kan ik het daarmee ook testen of het werkt. Kan je me daarbij helpen?

Groeten Bas

Groeten Bas
 
Hoi Bas,

Jouw verhaal maakt niet zoveel uit voor de constructie. Mijn voorbeeldje gaat nu niet op, maar ik kan nu weer teruggrijpen op mijn eerdere voorbeeld. Met dus een kleine aanpassing. Ik denk dat je hier een heel eind mee komt:
Code:
Private Sub Form_Current()
Dim sPad as String
    sPad="\\acjlsvr01\data\clienten\ & Me.CompNaam & "\"
    Me.txtPadNaam.Value=sPad
End Sub
Je hebt dus nog steeds een extra tekstvak nodig om de link te genereren. Op dat tekstvak maak je dus een <Bij klikken> gebeurtenis.
Code:
Private Sub txtPadNaam_Click()
    FollowHyperlink Me.txtPadNaam, , True
End Sub
Zelf zweer ik nog steeds bij 2003, en daar werkt dit dus als een tierelier..
 
Hoi Michel,

Ik kom er nog niet uit. Heb wel even wat moet aanpassen omdat ik niet op mijn werk ben maar volgens mij mag dat niet tot problemen leiden. Wat ik fout doe weet ik niet . dus stuur ik het bestandje even mee. Misschien kom jij er dan achter wat ik fout doe. Hopelijk kan je me helpen.

Groeten Bas
 

Bijlagen

Er zat een foutje in de stringopbouw.
Dit is 'm correct:
Code:
    sPad = "C:\bas\" & Me.compnaam & "\"
 
Hoi Michel,

Het werkt. Bedankt daar voor. Weet je ook een manier waarop je meteen alle bestanden ziet? want dat is eigenlijk de bedoeling. Op die manier kunnen we meteen checken of bepaalde bestanden aanwezig zijn in die map en meteen ook alle andere bestanden.

Als dat niet kan prima dan werken we hier mee maar het zou weer een paar klikken kunnen besparen vandaar.

Groeten Bas
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan