View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
michdenis michdenis is offline
external usenet poster
 
Posts: 135
Default VBA ADODB Automation - Truncated Memo Fields

Hi,

Have you tried something like This ?


Sub ImporterAccessVersExcel()

Dim C As Integer, Nb As Long
Dim cnt As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim MyRange As Range, Requete As String

With Worksheets("Feuil4")
Set MyRange = .Range("A1")
End With

cnt.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\Mes Documents\Comptoir.mdb;" & _
"Jet OLEDB:Database Password=", "admin", ""

Requete = "Select * from Employés"

rst.Open Requete, cnt, adOpenStatic, adLockReadOnly
Nb = rst.RecordCount

Do
MyRange.Offset(, C) = rst.Fields(C).Name
C = C + 1
x = x + 1
Loop Until x = rst.Fields.Count

MyRange.Offset(1).Resize(nb, rst.Fields.Count) = _
TransposeSpecial2(rst.GetRows)

End Sub

'-------------------------------------------------
Function TransposeSpecial2(ByRef Arr As Variant) As Variant
Dim A As Long, B As Long, Arr1() As Variant
Dim C As Long, D As Long
A = UBound(Arr, 1): B = UBound(Arr, 2)
ReDim Arr1(B, A)
For C = 0 To A
For D = 0 To B
Arr1(D, C) = Arr(C, D)
Next
Next
TransposeSpecial2 = (Arr1)
End Function
'-------------------------------------------------


"Dave Mac" a écrit dans le message de groupe de discussion :
...
Hi there,

Am hoping someone can help me here because I've exhausted most
avenues.

Am retrieving data from my MSAccess db using ADODB recordset. However
the Memo fields are truncated.

I understand that memo fields using the Groupby clause do get
truncated, but am using First() to aggregate.

This works, however some of my Memo fields can be Null so I have been
using an IIF(isNull(),,) to test and thereby is my problem. This ends
up truncating the field even though I use first() as shown below...

First( iif( isNull([Memo]),'',[Memo])))

It works using the IIF function, but I get errors through automation
when Null fields are retrieved.

It seems to be a catch22 problem. Has anyone experienced this or have
any workarounds?

Kind regards,
David