Toon posts:

[Access 97]Merge lengte tekenreeks

Pagina: 1
Acties:

Verwijderd

Topicstarter
Bij aanroepen van de hieronder weergegeven functie met een parameter (SQL statement) die langer is dan 255 tekens krijg ik de foutmelding:
"Tekenreeks is langer dan 255 tekens"

Het lijkt er dus op dat "objWord.MailMerge.OpenDataSource" geen SQL Statement van langer dan 255 tekens pikt... :(

Is er iemand die hiervoor een oplossing weet?

Voor de volledigheid nog even de functie erbij:
Visual Basic .NET:
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
'-------------------------------------------------------------------------------------------
' Merge_AbonneeBrief(astrSQLStatement As String)
' Voegt de data van de opgegeven SQL string samen met de template abonnee brief
'-------------------------------------------------------------------------------------------
Function Merge_AbonneeBrief(astrSQLStatement As String)
   
   Dim oApp As Word.Application
   Dim objWord As Word.Document
   Dim varResponse As Variant
    
   'Start Word en open de template
   Set oApp = CreateObject("Word.Application")
   oApp.Visible = True
   Set objWord = oApp.Documents.Add("C:\abonnee_brief.doc")
   
   'Zodra de gebruiker de velden goed heeft gezet in het doc wordt er gemerged
   varResponse = MsgBox("Klik op OK zodra u de velden goed hebt gezet.", vbOKOnly)
   If varResponse = vbOK Then    ' Er is op OK geklikt
    
     'Gebruik de opgegeven query als datasource
     objWord.MailMerge.OpenDataSource _
       Name:="C:\relatiebeheer97.mdb", _
       LinkToSource:=True, _
       Connection:="TABLE tblAbonnee", _
       SQLStatement:=astrSQLStatement
       
     'Voer de merge uit
     objWord.MailMerge.Execute
     
   End If
  
End Function

Verwijderd

Er zijn wel soortgelijke issues te vinden op Google. Kijk daar eerst eens rond.

http://groups.google.com/...ce+length&sa=N&tab=wg&lr=

Alternatief is kijken of je de sql kan inkorten.
If your SQL query is long because you have a long list of table.column
names, try
a. using tablename.* to retrieve all the "native" table columns, and tack
on any calculated columns youneed. You may not need to spell out every
column name.
b. using table/view alias names ("FROM blahblahblah AS b") to reduce the
text length of your query.