access - dialoogbox oproepen

Status
Niet open voor verdere reacties.

annetiti

Gebruiker
Lid geworden
6 aug 2007
Berichten
195
Hallo

Een oude database access 2007 geconverteerd naar 2010 en een aantal problemen.
De database bestaat uit personen en heel wat bijkomende informatie. Elke persoon heeft een eigen map met verschillende worddocumenten, exceldocumenten, submappen...
De mapnaam staat in een hulptabel en wordt samengesteld met de persoon_id en naam van de persoon vb c:/documenten/persoon_1

vraag1
IS het mogelijk om in access een dialoogventer te creëren om de bestaande documenten= docx xlsx, jpg van deze persoon te tonen?.
Dubbelklik je op één bestand dan wordt dit bestand geopend. vb klik je op een word document dan opent het word document zich...
in versie 2010 is dit de bijlage functie--> bestond niet in 2007!

vraag2
In een hulptabel staan ook verwijzingen naar documentsjablonen. Een formulier bevat knoppen met de namen van deze sjablonen.
- de persoon wordt opgeroepen in het formulier
- klik je op de knop sjabloon1 --> access controleert of het document bestaat in de map van deze persoon (vb c:/documenten/persoon_1/sjabloon1)
indien niet --> wordt een nieuw document gemaakt aan de hand van het sjabloon en worden de vaste gegevens ingevoerd zoals naam van de persoon. -->hier heb ik problemen om een nieuw document via access in word te maken.
bestaat het document dan wordt deze geopend --> aangepast met het Application.FollowHyperlink.

Graag een aantal tips of voorbeelden.

alvast bedankt
Annetiti
 
Je vraagt nogal wat :). Vreemd dat je een 2007 database 'converteert' naar 2010, want ze gebruiken hetzelfde format. Er hoeft dus helemaal niet geconverteerd te worden ;).

Het Bijlage veld bestond ook al in 2003 en 2007, al heette het anders en werkte het ook iets anders. Welke mafketel bij Microsoft het heeft bedacht weet ik natuurlijk niet, maar wat mij betreft wordt hij alsnog op staande voet ontslagen. Waardeloze optie die je ook helemaal niet moet gebruiken. Bestanden horen niet thuis in een database en maken de db ook nodeloos snel heel groot. Sla in een aparte tabel, als je meerdere bestanden per persoon wilt opslaan, de padverwijzingen op naar de docuementen en je bent klaar. Zo werkt het al 30 jaar perfect...

Ik snap niet helemaal wat je bedoelt met vraag 1: een dialoogvenster waarin je dubbelklikt? Bestaat volgens mij niet. Wel kun je een keuzelijst maken met een dubbelklik actie, of een keuzelijst met invoervak. In beid gevallen zou ik een normale klik gebruiken, dubbelklikken is een beetje gebruikertje pesten. Je gebruikt daar ook de (door jou al gvonden) actie FollowHyperlink voor.

Vraag 2: is ook wel te maken, maar het lijkt mij een stuk makkelijker als je een voorbeeldje maakt met wat sjablonen. Het is een vrij specifieke vraag waar ik dus geen kant-en-klare oplossing voor heb liggen, dus ik moet het ook bouwen.
 
access dialogvenster

Hallo

Wat meer uitleg.IN bijlage een zip bestand database2.mdb
Tabellen
tbl_leerling: vaste gegevens van een leerling: nr naam voornaam...
Bestanden: lokatie op harde schijf waar de informatie staat of moet komen, velden met de namen van sjablonen vb sjabloon1 sjabloon2...
Wordpath: verwijzing naar het systeemmap winword

Na openen van de database in 2010 heb ik heel wat problemen om de sjablonen (gemaakt in word) vanuit accessformulier in word te openen en de naam en voornaam van de leerling in het sjabloon te schrijven ( dit is vraag 2) -->object fout
zie knop sjabloon1 in het formulier frm_leerling

* er wordt getest of de map voor de leerling reeds bestaat --> indien niet --> map wordt aangemaakt

*daarna wordt getest of het document reeds bestaat
* indien wel --> wordt deze weergegeven in word
* indien niet dan moet ze aangemaakt worden in word --> template opslaan onder de juiste naam en weergeven op scherm--> dit werk niet en opgeslagen in de juiste map = pathjongens (tebel bestanden) gevolgd door sjabloonnaam.docx --> velden uit de tabel bestanden

Misschien kunnen jullie me helpen met dit probleem. Daarna komt de tweede vraag.:eek:
Hartelijk dank
AnneBekijk bijlage database2.zip
 
Waarom sla je de Word applicatie op? Nergens voor nodig. Net zo min als de functie Startword. Gek genoeg weet je dat zelf ook wel denk ik want je opent al een Word sessie ( Set wdapp = GetObject(, "word.application")). Constructies als vnaam = Forms!frm_leerling!naam kunnen ook veel simpeler: vnaam = Me.naam. Kortom: als je de code zelf hebt geschreven, dan mag je wat eenvoudiger en logischer gaan denken. En als je hem op het www hebt gevonden, dan zoek je niet optimaal ;).
Dan het declaren van je variabelen, want dat is ook vreemd. In:
Code:
Dim vnaam, vbegeleider As String
Dim vfolder, vpath, vtemplatepath, vjongensdir As Variant
heb je alleen de laatste variabele specifiek benoemd. In het geval van vjongensdir is dat overbodig, want als je bij een variabele niks opgeeft is het vanzelf een variant. Maar het is dus niet zo dat je één regel met variabelen kunt instellen door op het eind het type op te geven. In jouw voorbeeld is vnaam dus gewoon een variant, en geen string. Dat zou dus zo moeten:
Code:
Dim vnaam As String, vbegeleider As String
Dim vfolder As String, vpath As String, vtemplatepath As String, vjongensdir As As String
Inderdaad, het zijn allemaal strings, dus ook als string declaren lijkt mij.
 
access dialogvenster

Dag Octafish

Het klopt. Ben het voorbeeld aan het verfijnen. (programma 16 jaar geleden geschreven en kende nog niet veel van access vba --> nu nog niet :( --> werk er niet veel mee) Een knoei access vba'er ben ik!

Bedankt voor de opmerkingen. Ik pas deze aan maar zal hier en daar nog een vraag hebben. Ik mail je dan opnieuw (als ik nog mag!).


groeten Annetiti
 
access word

Dag Octafish
Heb het klein programma aangepast. zie bijlage
in het formulier frmleerling: ik moet word opstarten via het icoontje anders een foutmelding --> active X-onderdeel kan geen object maken
Probleempje om automatisch gegevens in te voeren in het Word document vanuit access -->zie procedure create_worddocument frm_leerling maw kan je veldgegevens uit access in word document invoeren?

Hartelijk dank voor je hulp.

Anne

Bekijk bijlage Database2.zip
 
Access word

Dag Octafish

Via internet een vba-code gevonden die ik aan het herwerken ben in mijn database
Ik mail deze avond een andere versie van de database. Nog enkele vraagjes erover. Ik ga het eerst goed uittesten!:thumb:

Sorry voor de last.

groeten Anne
 
access word

Dag Octafish

Na een aantal uurtjes heb ik een andere versie (zie bijlage).
Wil je deze even nazien?
Nog een vraagje
- per leerling heb je heel wat documenten in word/ excel die in één map (mapnaam: leerlingnaam_voornaam)
- is het mogelijk om de inhoud van die map weer te geven in access vb een kleine verkenner --> of automatisch verwijzen naar de map (leerlingnaam_voornaam)--> bij klik op knop "inhoud map " --> de inhoud van map-leerling weergeven?

Hartelijk dank.
Anne
 

Bijlagen

Dat zijn heel wat berichtjes :). Ik neem aan dat ik alleen naar de laatste versie hoef te kijken, en dat daar alle opmerkingen in verwerkt zijn?
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan