Datagrid imprimer

Signaler
Messages postés
51
Date d'inscription
mardi 6 février 2007
Statut
Membre
Dernière intervention
25 mars 2008
-
Messages postés
2
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
8 juin 2008
-
Bonsoir,

Est il possible d'imprimer le contenu d'un Datagrid en Vb6?

Merci

3 réponses

Messages postés
38
Date d'inscription
mardi 3 février 2004
Statut
Membre
Dernière intervention
19 mars 2008

Bonjour,

J'ai essayé d'imprimer un datagrid en VB6, mais ça fonctionnait toujours mal....

Donc, je me suis dis que c'était un table qui alimentait mon datagrid, pourquoi ne pas exporter le contenu de ma table dans un fichier excel et par la suite l'imprimer.

Si tu veux voir toutes mes réflexions:

http://www.developpez.net/forums/showthread.php?t=508451

ma solution :


PrivateSub cmdImprimer_Click()
 
Dim cnx AsNew ADODB.Connection
Dim rs AsNew ADODB.Recordset
 
 
cnx.ConnectionString = "Provider=SQLOLEDB;Data Source=TEST;Initial Catalog=CaisseDCN;User ID=tssss;Password=bonjour;"
cnx.Open
 
rs.Open"SELECT * FROM Depannage", cnx, adOpenStatic, adLockOptimistic ' tablelst-this is yr table name
tmp_val = ""
IfNot rs.EOFThen
rs.MoveLast
rcount = rs.RecordCount
rs.MoveFirst
Close
Open App.Path & "" & tablelst & "Impression.xls"For Output As #1
For i = 0To rs.Fields.Count - 1
If i < rs.Fields.Count - 1Then
tmp_val = tmp_val &amp; rs.Fields(i).Name &amp; vbTab
ElseIf i = rs.Fields.Count - 1Then
tmp_val = tmp_val &amp; rs.Fields(i).Name
EndIf
Next i
tmp_val = tmp_val &amp; vbCrLf
WhileNot rs.EOF
For i = 0To rs.Fields.Count - 1
tmp_val = tmp_val &amp; rs.Fields(rs.Fields(i).Name) &amp; vbTab
Next i
tmp_val = Mid(tmp_val, 1, Len(tmp_val) - 1)
tmp_val = tmp_val &amp; vbCrLf
rs.MoveNext
DoEvents
Label1.Caption = rs.AbsolutePosition &amp; "/" &amp; rcount
Wend
Print #1, tmp_val
EndIf
MsgBox "Processus terminé"
EndSub


Kat40
Messages postés
2
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
8 juin 2008

AddoulTim
Vraiment c'est le travail le plus idéal que j'ai vue. tu doit etre recomponsé.

Merci bien.
Messages postés
2
Date d'inscription
lundi 13 mars 2006
Statut
Membre
Dernière intervention
8 juin 2008

AddoulTim
Voila le code sur ado

Private Sub Command1_Click()
tmp_val = ""





If Not Adodc1.Recordset.EOF Then
Adodc1.Recordset.MoveLast
rcount = Adodc1.Recordset.RecordCount
Adodc1.Recordset.MoveFirst
Close
Open App.Path & "" & tablelst & "Impression.xls" For Output As #1
For i = 0 To Adodc1.Recordset.Fields.Count - 1
If i < Adodc1.Recordset.Fields.Count - 1 Then
tmp_val = tmp_val & Adodc1.Recordset.Fields(i).Name & vbTab
ElseIf i = Adodc1.Recordset.Fields.Count - 1 Then
tmp_val = tmp_val & Adodc1.Recordset.Fields(i).Name
End If
Next i
tmp_val = tmp_val & vbCrLf
While Not Adodc1.Recordset.EOF
For i = 0 To Adodc1.Recordset.Fields.Count - 1
tmp_val = tmp_val & Adodc1.Recordset.Fields(Adodc1.Recordset.Fields(i).Name) & vbTab
Next i
tmp_val = Mid(tmp_val, 1, Len(tmp_val) - 1)
tmp_val = tmp_val & vbCrLf
Adodc1.Recordset.MoveNext
DoEvents
Label1.Caption = Adodc1.Recordset.AbsolutePosition & "/" & rcount
Wend
Print #1, "Etat des Impayées TUNET"
Print #1,
Print #1,





Print #1, tmp_val
End If
MsgBox "Processus terminé un Fichier XLS a été crée"







End Sub


Private Sub Form_Load()
  text1.Text = Format(Date, "dd/mm/yyyy")
 
End Sub