Excel lit dans Access et listbox

ConsultantJP

XLDnaute Occasionnel
Bonjour à tous,

Je suis en train de concevoir un fichier excel qui permet de lire et stocké les infos dans access.

J'ai mis un listbox dans un userform qui me donne la liste des clé primaires mais je voudrais que dans cette listbox on puisse voir dans une secodne colonne la colonne NomPrénom mais je n'arrive pas à le faire.

Pouvez vous m'aiguiller ?

Voici le code que j'ai fait :

Code:
Private Sub UserForm_Initialize()
'#########################################
'### Référence : Library DAO
'### C:\Program Files\Fichiers communs\Microsoft Shared\DAO\dao360.dll
'### Microsoft DAO 3.6 Object Library
'##########################################
Dim BDD As DAO.Database
Dim RS As DAO.Recordset
Dim BDDPath As String
Dim SQLQuery As String
Dim ListeResultats As Variant
Dim NombreResultats As Integer


Dim m As Long 'et non pas Integer



BDDPath = ThisWorkbook.Path & "\BaseSuspens.mdb"
Set BDD = OpenDatabase(BDDPath, False, False)
'SQLQuery = "SELECT * FROM Base WHERE " & clé & ""
SQLQuery = "SELECT [AlerteFamille2].[Clé] FROM [AlerteFamille2]"
Set RS = BDD.OpenRecordset(SQLQuery)
RS.MoveLast
m = RS.RecordCount
RS.MoveFirst
ListeResultats = RS.GetRows(m)
With ListBox1
  .ColumnCount = UBound(ListeResultats, 2) + 1
  .List() = Application.WorksheetFunction.Transpose(ListeResultats)
End With
End Sub

Merci
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Excel lit dans Access et listbox

Bonjour,

Exemple ADO 2 colonnes

Code:
Private Sub UserForm_Initialize()
  rep = ThisWorkbook.Path
  Dim rs As ADODB.Recordset
  Set cnn = New ADODB.Connection
  cnn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & rep & "\Access2000.mdb"
  Set rs = cnn.Execute("SELECT nom_client,ville FROM Client ORDER BY nom_client")
  Me.Choix.List = Application.Transpose(rs.GetRows)
  rs.Close
  cnn.Close
  Set rs = Nothing
  Set cnn = Nothing
End Sub

Liens Access/Excel

JB
 

ConsultantJP

XLDnaute Occasionnel
Re : Excel lit dans Access et listbox

Merci pour ta réponse, j'avais coché plusieurs case ça fonctionnait sans savoir laquelle était la bonne :)

Par contre j'ai une erreur de compatibilité de type 13.
et j'ai fait le code suivant ...

Mon champ 1 est la clé, le 2 est le Prénom Nom et ma base de donnée : Base

Code:
Private Sub UserForm_Initialize()

  rep = ThisWorkbook.Path
  Dim rs As ADODB.Recordset
  Set cnn = New ADODB.Connection
  cnn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & rep & "\BaseSuspens.mdb"
  Set rs = cnn.Execute("SELECT Clé,PrénomNom FROM Base Order BY Clé")
  Me.Choix.List = Application.Transpose(rs.GetRows)
  rs.Close
  cnn.Close
  Set rs = Nothing
  Set cnn = Nothing
End Sub

Je refait d'autre test.

Merci
 

ConsultantJP

XLDnaute Occasionnel
Re : Excel lit dans Access et listbox

Idem...

Code:
  Set rs = cnn.Execute("SELECT [Clé],[PrénomNom] FROM Base Order BY [Clé]")

au faite je viens seulement de percuter que tu étais l'auteur du site et bravo c'est très clair, et très bien fait ....
 

Edjo

XLDnaute Nouveau
Re : Excel lit dans Access et listbox

Bonjour,

Je ne sais pas si ce post est toujours d'actualité... j'imagine que non, mais je tente quand même ma chance.

Je suis actuellement confronté au même problème avec cette erreur de compatibilité de type 13.

J'ai pu remarquer que si le résultat de la requête contenait des champs NULL cette erreur avait lieu.

En revanche si on lance une requete dont le résultat ne comporte pas de champs NULL, le remplissage s'effectue correctement, et ce, même avec plusieurs colonnes.

Je ne sais pas si ca peut aider...
 

Statistiques des forums

Discussions
312 279
Messages
2 086 730
Membres
103 380
dernier inscrit
prolofief