Word koppeling naar Acces

Pagina: 1
Acties:
  • 592 views sinds 30-01-2008
  • Reageer

  • WlMPY604
  • Registratie: Februari 2006
  • Laatst online: 25-11-2022
Het is mogelijk om Accces te koppelen met Word, geen probleem dat kan ik.
Maar om een veld in een Word sjabloon te koppelen met Acces, zodat er een index wordt samengesteld lukt me niet. |:(

Ik heb ook geen idee of dat mogelijk is maar dat zou voor mij veel werk schelen.
Als iemand mij kan helpen hoe slecht je nieuws ook mag zijn,
bedankt.

(Zelf zoek ik ondertussen verder :) )

Funky people!


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

WlMPY schreef op vrijdag 21 april 2006 @ 12:50:
Maar om een veld in een Word sjabloon te koppelen met Acces, zodat er een index wordt samengesteld lukt me niet. |:(
Hoe bedoel je? Ik snap echt niet wat je wilt?

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • KatirZan
  • Registratie: September 2001
  • Laatst online: 09-07 14:40

KatirZan

Wandelende orgaanzak

wat je dus wilt is bijv. een grafiek van de access database koppelen in word?

Wabbawabbawabbawabba


  • WlMPY604
  • Registratie: Februari 2006
  • Laatst online: 25-11-2022
Sorry voor de onduidelijkheid.

Mijn bedoeling is niet een koppeling van Acces naar Word maar een koppeling van Word naar Acces.
Wat er op neer komt dat wanneer er een bewerking in een bepaald gedeelte van het sjabloon dit door middel van een koppeling ook in Acces komt te staan. Dan onstaat er in Acces een tabel die als index voor de diverse Word documenten die ontstaan zijn functioneerd.
Zodat ik een overzicht heb van de aanwezige documenten, om weer verder te koppelen naar het www. Maar dat heb ik al uitgevogeldt.

Funky people!


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Met een stukje VBa is natuurlijk prima een database te benaderen. Als je over een invoerveld hebt dan kun je je code laten triggeren door een invoer in het veld, of anders laten aflopen voor het opslaan van het document.
Andersom kan natuurlijk ook door de database een of meer directorys te laten monitoren. :)

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • WlMPY604
  • Registratie: Februari 2006
  • Laatst online: 25-11-2022
Vba is niet mijn sterke kant maar daar kan ik wel hulp bij vinden.
Voorlopig ben ik dan ook wel even zoet :)

Ik heb zeker wel iets aan je idee.

Update: Ik heb iets gevonden waar ik denk ik wel mee uit de voeten kan, klik

[ Voor 34% gewijzigd door WlMPY604 op 24-04-2006 13:37 ]

Funky people!


  • WlMPY604
  • Registratie: Februari 2006
  • Laatst online: 25-11-2022
Ik heb toch nog hulp nodig... helaas :(
Bij de regel: vTitel = ActiveDocument.FormFields("bkTitel").Result
krijg ik de melding "fout 5941 Het gevraagde lid van de collectie bestaat niet."

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Private Sub CommandButton1_Click()

'Declaratie van de nieuwe connectie en recordset en de declaratie van de variabelen.
Dim vConnection As New ADODB.Connection
Dim vRecordSet As New ADODB.Recordset
Dim Titel As String
Dim vVersie As String
Dim vBranche As String
Dim vOnderwerp As String
Dim vTekst As String
Dim vFiguur As String

'Een connectie string voor data gebruik makend van Provider=Microsoft.Jet.OLEDB.4.0.
vConnection.ConnectionString = "data source=O:\USERS\WIM\db1.mdb;" & _
    "Provider=Microsoft.Jet.OLEDB.4.0;"

'Openen van de connectie
vConnection.Open

'Test de connectie, dit kan later door comments weg gelaten worden
vConnectionState = vConnection.State
If vConnectionState = 1 Then
    MsgBox "De connectie naar de dattabase werkt!", vbInfomation
    
Else
    MsgBox "Het is niet mogelijk om een connectie op te zetten naar de database!", vbInformation
    
End If

'Zet variabele gelijk aan wat er ook is ingevuld, zodat je via een query in de Database kan
'kijken om te zien of het record bestaat.
vTitel = ActiveDocument.FormFields("bkTitel").Result

'Opent een RecordSet met een SQL query als resultaat om te zien of er een match is.
vRecordSet.Open "SELECT + FROM Titel WHERE Toolbox invoer!Titel = " & _
    Chr(34) & vTitel & Chr(34) & "AND Toolbox invoer!Titel = " & _
    Chr(34) & vTitel & Chr(34), vConection, adOpenKeyset, adLockPessimistic

End Sub

Funky people!


Verwijderd

het formfield genaamd bkTitel bestaat niet in het word document; zorg ervoor dat je in de eigenschappen van het formfield de bladwijzer/bookmark instelt op bkTitel

pas ook even de declaratie aan : dim vTitel as string

  • WlMPY604
  • Registratie: Februari 2006
  • Laatst online: 25-11-2022
Ik kwam er inderdaad achter dat ik daar een spelfout had gemaakt :P
De bladwijzer was ik vergeten aan te passen. _/-\o_

Nu heb ik nog een vastloper.
"Fout 1300 De argumenten zijn van het verkeerde type, vallen buiten het toegestane bereik of zijn in conflict met elkaar."
code:
1
2
3
vRecordSet.Open "SELECT * FROM ToolboxInvoer WHERE ToolboxInvoer!Titel = " & _
    Chr(34) & vTitel & Chr(34) & "AND ToolboxInvoer!Titel = " & _
    Chr(34) & vTitel & Chr(34), vConection, adOpenKeyset, adLockOptimistic

De tabel heet "ToolboxInvoer" en bevat het veld "Titel".

Funky people!


  • Boss
  • Registratie: September 1999
  • Laatst online: 28-07 14:18

Boss

+1 Overgewaardeerd

Ik denk dat er een spatie moet voor de AND?
Voor de zekerheid even de SQl statement laten samenstellen en met debug.print weergeven, dan kan je zien wat precies het resultaat is van je samengestelde string.

[ Voor 66% gewijzigd door Boss op 26-04-2006 11:03 ]

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


  • WlMPY604
  • Registratie: Februari 2006
  • Laatst online: 25-11-2022
Na een aantal reboots was het over en kreeg ik geen fout melding meer op dat stuk.
De aanhouder wint!

Nu heb ik een hele mooie, wat kan je doen wanneer een kleine letter bij het aanpassen naar een hoofdletter toch weer een kleine letter wordt op het moment dat de cursor naar de volgende regel gaat.
Waarbij de volgende foutmelding van toepassing is "Compileer fout Sub of Function is niet gedefinieerd".
code:
1
2
3
4
5
    vVersie = Recordset("Versie")
    vBranche = Recordset("Branche")
    vOnderwerp = Recordset("Onderwerp")
    vTekst = Recordset("Tekst")
    vFiguur = Recordset("Figuur")

Recordset moet RecordSet zijn. |:(

Funky people!


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

WlMPY schreef op woensdag 26 april 2006 @ 11:41:
Recordset moet RecordSet zijn. |:(
recordset moet vRecordSet zijn 7(8)7

recordset is een gereserveerde klassenaam, je variabele heet vRecordSet
* Lustucru mompelt iets als twee keer, steen en ezel

offtopic:
nofi, maar dit soort slordigheden mag je er toch wel zelf uithalen
;)

[ Voor 28% gewijzigd door Lustucru op 26-04-2006 12:40 ]

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • WlMPY604
  • Registratie: Februari 2006
  • Laatst online: 25-11-2022
ik voel me meer een }:O maar de ezel bedankt je :D

Funky people!


  • WlMPY604
  • Registratie: Februari 2006
  • Laatst online: 25-11-2022
En weer kom ik er niet uit 8)7
Hier op krijg ik de fout melding "Er is een ongeldige SQL instructie gevonden. DELETE, INSERT, PROCEDURE, SELECT, of UPDATE werd verwacht."
code:
1
vRecordSet.Open "ToolboxInvoer", vConnection, adOpenKeyset, adLockOptimistic

De volledige code is als volgt.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Private Sub CommandButton2_Click()

'Declaratie van de nieuwe connectie en recordset en de declaratie van de variabelen.
Dim vConnection As New ADODB.Connection
Dim vRecordSet As New ADODB.Recordset
Dim vTitel As String
Dim vVersie As String
Dim vBranche As String
Dim vOnderwerp As String
Dim vTekst As String
Dim vFiguur As String

'Een connectie string voor data gebruik makend van Provider=Microsoft.Jet.OLEDB.4.0, zoals
'onder CommandButton1.
vConnection.ConnectionString = "data source=O:\USERS\WIM\db1.mdb;" & _
    "Provider=Microsoft.Jet.OLEDB.4.0;"

'Openen van de connectie
vConnection.Open

'Zet alle variabelen voor de velden in het formulier.
vTitel = ActiveDocument.FormFields("bkTitel").Result
vVersie = ActiveDocument.FormFields("bkVersie").Result
vBranche = ActiveDocument.FormFields("bkBranche").Result
vOnderwerp = ActiveDocument.FormFields("bkOnderwerp").Result
vTekst = ActiveDocument.FormFields("bkTekst").Result
vFiguur = ActiveDocument.FormFields("bkFiguur").Result

'Opent een nieuwe versie van de RecordSet in de ToolboxInvoer database
vRecordSet.Open "ToolboxInvoer", vConnection, adOpenKeyset, adLockOptimistic
vRecordSet.AddNew

'Er kan niet "Niets" ingevoerd worden, alleen de velden die ingevoerd zijn
'moeten worden gebruikt.
If vTitel <> "" Then vRecordSet!Titel = vTitel
If vVersie <> "" Then vRecordSet!Versie = vVersie
If vBranche <> "" Then vRecordSet!Branche = vBranche
If vOnderwerp <> "" Then vRecordSet!Onderwerp = vOnderwerp
If vTekst <> "" Then vRecordSet!Tekst = vTekst
If vFiguur <> "" Then vRecordSet!Figuur = vFiguur

'Update naar de database, dit zorgt er voor dat er een nieuwe toolbox wordt
'toegevoegdt aan de database.
vRecordSet.Update
'MsgBox met de melding dat de toolbox is toegevoegdt.
MsgBox vTitel & " is toegevoegd aan de database."
    'Sluit de objecten.
    vRecordSet.Close
    vConnection.Close
    
    'Wist de objecten om geheugen te sparen.
    Set vRecordSet = Nothing
    Set vConnetion = Nothing
    
End Sub

De ezel zal zich wel weer stoten, maar ik kom er maar niet voorbij.

Funky people!


Verwijderd

we zullen een nieuw spreekwoord voor jou moeten gaan uitvinden.
even hoger zeg je dat je de query aan de praat hebt gekregen, daarna ga je de sql-code die je had doodleuk vervangen door de string "ToolboxInvoer" in het vRecordset.open statement.

set vConnetion=Nothing: dit gaat niet werken om 2 redenen:
- je hebt alweer een syntaxfout gemaakt. tip : declareer variabelen met kleine letters & hoofdletters, typ daarna in een opdracht de variabele alleen in met kleine letters. als je naar de volgende lijn gaat en je ziet de variabelenaam niet veranderen naar een versie met hoofdletters, dan heb je een typfout gemaakt.
- als je het object zowel declareert als instantieert in 1 lijn (dim ... as new ...), dan functioneert de opdracht set ... = nothing niet langer. dus apart declareren en instantieren:
dim ... as ...
set ... =new ...

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

offtopic:
mmm, zoek de vout is niet helemaal de bedoeling. Nog een keer zo'n tikfout en ik vrees dat ik de titel van het topic 'iets' ga wijzigen.
;)
Verwijderd schreef op woensdag 26 april 2006 @ 17:06:
we zullen een nieuw spreekwoord voor jou moeten gaan uitvinden.
even hoger zeg je dat je de query aan de praat hebt gekregen, daarna ga je de sql-code die je had doodleuk vervangen door de string "ToolboxInvoer" in het vRecordset.open statement.
offtopic:
take your pick:
Een aangeklede Aap
Een Aap van een jongen
Een broodje Aap verhaal
Iemands Aap zijn
Iemand voor Aap zetten
Ik kan er geen Aap van takken
In de Aap gelogeerd zijn
Hij haspelt ermee als een Aap in een garenwinkel
Hij heeft de Aap in de mouw
Voor Aap staan
Wat een man meer heeft dan een Aap is meegenomen
Zich een Aap lachen
Aapjes kijken
Apetrots zijn
Op Apegapen liggen
NaApen
Apenkool
Als Apen hoger klimmen willen, dan ziet men juist hun naakte billen
Hij werkt zich het Apenzuur
De Apen logeren in het graf
Wat van Apen komt wil Luizen


modjes zijn soms ook net mensen O-)

[ Voor 37% gewijzigd door Lustucru op 26-04-2006 17:57 ]

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • WlMPY604
  • Registratie: Februari 2006
  • Laatst online: 25-11-2022
_heretic_
Je tip over kleine & hoofdletter is een goeie en ga ik ook zeker gebruiken, ik wist niet dat die functie aanwezig is.

Ik weet niet wat ik heb gedaan maar het werkt nu wel terwijl ik geen letter heb veranderd 8)7
Maar een nieuwe fout heeft zich al aangemeld waar ik jullie voorlopig niet mee ga belasten.

offtopic:
Niesje een beetje stangen kan geen kwaad :P
Nieuwe titel: WlMPY kan niet lezen bijles vereist of WlMPY de rund die met vba stunt! ;)

[ Voor 74% gewijzigd door WlMPY604 op 27-04-2006 10:34 ]

Funky people!


  • WlMPY604
  • Registratie: Februari 2006
  • Laatst online: 25-11-2022
En ik brei nog een stukje aan dit topic.

Vanuit Word een afbeelding importeren naar Access
Iemand een idee, ik dus echt niet!

offtopic:
Het grappen maken gaat verder

Funky people!


  • Boss
  • Registratie: September 1999
  • Laatst online: 28-07 14:18

Boss

+1 Overgewaardeerd

Copy paste?

Die commando's kan je prima aansturen vanuit VBA. Eerst object selecteren, dan commando copy geven. In Access doelveld selecteren en paste commando geven.

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.

Pagina: 1