Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pas d'affichage de la partie liste d'un datacombo

1 réponse
Avatar
Jean-Louis KAZADI
Voici ce bout de code,

Dim cnx As ADODB.Connection
Dim rstAgences As ADODB.Recordset
Dim rstPrix As ADODB.Recordset
Dim rstStock As ADODB.Recordset
Dim rstVentes As ADODB.Recordset
Dim rstStatistiques As New ADODB.Recordset
.....

Private Sub Form_Load()
Set cnx = New ADODB.Connection
Set rstAgences = New ADODB.Recordset
Set rstPrix = New ADODB.Recordset
Set rstStock = New ADODB.Recordset
Set rstVentes = New ADODB.Recordset
cnx.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
App.Path & IIf(Right(App.Path, 1) <> "\", "\StockVentes.mdb",
"StockVentes.mdb") & ";Persist Security Info=False"
cnx.Open
rstAgences.Open "Agences", cnx, adOpenDynamic, adLockOptimistic
rstPrix.Open "Prix", cnx, adOpenDynamic, adLockOptimistic
rstStock.Open "Stock", cnx, adOpenDynamic, adLockOptimistic
rstVentes.Open "Ventes", cnx, adOpenDynamic, adLockOptimistic
Set dtcChambre.DataSource = rstAgences
Set dtcChambre.RowSource = rstAgences
dtcChambre.DataField = "agence"
dtcChambre.ListField = "agence"
dtcChambre.BoundColumn = "codeagence"
Set dtcProduit.RowSource = rstStock
Set dtcProduit.DataSource = rstStock
dtcProduit.ListField = "LibelléProduit"
dtcProduit.DataField = "LibelléProduit"
dtcProduit.BoundColumn = "codeproduit"
Calendrier.Day = Day(Date)
Calendrier.Month = Month(Date)
Calendrier.Year = Year(Date)
End Sub

Tous les dtc.... sont des DataCombo.
Tous les rst... sont des RecordSet ADO.
StockVentes est une BD Access 2003
Les champs "agence", "codeproduit", ... existent bel et bien.
Seule la partie texte des DataCombo s'affiche et il n'y a rien dans la
partie Liste alors que ListField est bien spécifié. J'ai pourtant une autre
appli de laquelle j'ai d'ailleurs recopié ce bout de code et là tout marche
bien.

VB6+MDAC2.8+SP6

JLK

1 réponse

Avatar
Jean-Louis KAZADI
J'ai fait cnx.CursorLocation­UseClient et ç'a marché.

JLK
"Jean-Louis KAZADI" a écrit dans le message de
news: O0a%
Voici ce bout de code,

Dim cnx As ADODB.Connection
Dim rstAgences As ADODB.Recordset
Dim rstPrix As ADODB.Recordset
Dim rstStock As ADODB.Recordset
Dim rstVentes As ADODB.Recordset
Dim rstStatistiques As New ADODB.Recordset
.....

Private Sub Form_Load()
Set cnx = New ADODB.Connection
Set rstAgences = New ADODB.Recordset
Set rstPrix = New ADODB.Recordset
Set rstStock = New ADODB.Recordset
Set rstVentes = New ADODB.Recordset
cnx.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
App.Path & IIf(Right(App.Path, 1) <> "", "StockVentes.mdb",
"StockVentes.mdb") & ";Persist Security Infoúlse"
cnx.Open
rstAgences.Open "Agences", cnx, adOpenDynamic, adLockOptimistic
rstPrix.Open "Prix", cnx, adOpenDynamic, adLockOptimistic
rstStock.Open "Stock", cnx, adOpenDynamic, adLockOptimistic
rstVentes.Open "Ventes", cnx, adOpenDynamic, adLockOptimistic
Set dtcChambre.DataSource = rstAgences
Set dtcChambre.RowSource = rstAgences
dtcChambre.DataField = "agence"
dtcChambre.ListField = "agence"
dtcChambre.BoundColumn = "codeagence"
Set dtcProduit.RowSource = rstStock
Set dtcProduit.DataSource = rstStock
dtcProduit.ListField = "LibelléProduit"
dtcProduit.DataField = "LibelléProduit"
dtcProduit.BoundColumn = "codeproduit"
Calendrier.Day = Day(Date)
Calendrier.Month = Month(Date)
Calendrier.Year = Year(Date)
End Sub

Tous les dtc.... sont des DataCombo.
Tous les rst... sont des RecordSet ADO.
StockVentes est une BD Access 2003
Les champs "agence", "codeproduit", ... existent bel et bien.
Seule la partie texte des DataCombo s'affiche et il n'y a rien dans la
partie Liste alors que ListField est bien spécifié. J'ai pourtant une
autre appli de laquelle j'ai d'ailleurs recopié ce bout de code et là tout
marche bien.

VB6+MDAC2.8+SP6

JLK