J'exporte un fichier txt (ci-joint le code) avec ado, mais=20
je n'arrive pas =E0 recuperer les titres. Ci-dessous le=20
code. Comment faire pour exporter les titres des champs ?
code:
rc.open "Select Nom, Prenom From Table", ct
Open "C:\fichier.txt" For Output as #1
Do Until Rc.Eof
Print #1, Rc!Nom & " " & Rc!Prenom
Rc.MoveNext
Loop
il existe des mécanismes qui permette de lire les champ d'une table. Pour sql serveur voir les procedure stocké étendue qui commence par sp_
Il suffit donc de faire 1 1ere passe avec se type de mécanisme puis une seconde avec le select ....
-----Message d'origine----- Salut tout le monde,
J'exporte un fichier txt (ci-joint le code) avec ado,
mais
je n'arrive pas à recuperer les titres. Ci-dessous le code. Comment faire pour exporter les titres des champs ?
code: rc.open "Select Nom, Prenom From Table", ct Open "C:fichier.txt" For Output as #1 Do Until Rc.Eof Print #1, Rc!Nom & " " & Rc!Prenom Rc.MoveNext Loop
Merci d'avance
Bisous Ingrid
.
il existe des mécanismes qui permette de lire les champ
d'une table.
Pour sql serveur voir les procedure stocké étendue qui
commence par sp_
Il suffit donc de faire 1 1ere passe avec se type de
mécanisme puis une seconde avec le select ....
-----Message d'origine-----
Salut tout le monde,
J'exporte un fichier txt (ci-joint le code) avec ado,
mais
je n'arrive pas à recuperer les titres. Ci-dessous le
code. Comment faire pour exporter les titres des champs ?
code:
rc.open "Select Nom, Prenom From Table", ct
Open "C:fichier.txt" For Output as #1
Do Until Rc.Eof
Print #1, Rc!Nom & " " & Rc!Prenom
Rc.MoveNext
Loop
il existe des mécanismes qui permette de lire les champ d'une table. Pour sql serveur voir les procedure stocké étendue qui commence par sp_
Il suffit donc de faire 1 1ere passe avec se type de mécanisme puis une seconde avec le select ....
-----Message d'origine----- Salut tout le monde,
J'exporte un fichier txt (ci-joint le code) avec ado,
mais
je n'arrive pas à recuperer les titres. Ci-dessous le code. Comment faire pour exporter les titres des champs ?
code: rc.open "Select Nom, Prenom From Table", ct Open "C:fichier.txt" For Output as #1 Do Until Rc.Eof Print #1, Rc!Nom & " " & Rc!Prenom Rc.MoveNext Loop
Merci d'avance
Bisous Ingrid
.
Zoury
Salut à vous 2!
il existe des mécanismes qui permette de lire les champ d'une table. Pour sql serveur voir les procedure stocké étendue qui
< commence par sp_
Yep, elle se nomme sp_columns..
Il suffit donc de faire 1 1ere passe avec se type de mécanisme puis une seconde avec le select ....
Pas nécessaire dans ce cas ci... Le Recordset offre une collection de type Field qui permet d'obtenir les informations sur les colonnes dans ce dernier.. Il te suffit de boucler la collection de Fields une fois afin d'écrire tes headers avant les données
Ex : '*** ' référence : Microsoft ActiveX Data Objects 2.X Library ' Utilise la base de données NorthWind d'SQL Server.. ' Module1 Option Explicit
Private Sub Main()
Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Dim fld As ADODB.Field Dim sLine As String Dim hFile As String Const COL_WIDTH As Long = 50 ' 50 caractères par colonne
Set cn = New ADODB.Connection Call cn.Open("Provider=SQLOLEDB.1;Persist Security Infoúlse;User ID=sa;Initial Catalog=Northwind;Data Source=GCODEV")
Set rs = New ADODB.Recordset rs.CursorLocation = adUseClient Call rs.Open("select CompanyName, ContactName from Customers", cn, adOpenForwardOnly, adLockReadOnly)
' Créer l'entête For Each fld In rs.Fields sLine = sLine & PadLeft(fld.Name, COL_WIDTH) Next fld
' On ouvre le fichier hFile = FreeFile Open "C:fichier.txt" For Output As #hFile
Print #hFile, String$(COL_WIDTH * rs.Fields.Count, "-") Print #hFile, sLine Print #hFile, String$(COL_WIDTH * rs.Fields.Count, "-") Do Until rs.EOF sLine = "" For Each fld In rs.Fields sLine = sLine & PadLeft(fld.Value, COL_WIDTH) Next fld Print #hFile, sLine Call rs.MoveNext Loop
' Ferme nos objets Close #hFile rs.Close cn.Close
End Sub
Private Function PadLeft(ByRef sText As String, ByRef lLength As Long) As String PadLeft = Left$(sText & Space$(lLength), lLength) End Function '***
il existe des mécanismes qui permette de lire les champ
d'une table.
Pour sql serveur voir les procedure stocké étendue qui
< commence par sp_
Yep, elle se nomme sp_columns..
Il suffit donc de faire 1 1ere passe avec se type de
mécanisme puis une seconde avec le select ....
Pas nécessaire dans ce cas ci... Le Recordset offre une collection de type
Field qui permet d'obtenir les informations sur les colonnes dans ce
dernier.. Il te suffit de boucler la collection de Fields une fois afin
d'écrire tes headers avant les données
Ex :
'***
' référence : Microsoft ActiveX Data Objects 2.X Library
' Utilise la base de données NorthWind d'SQL Server..
' Module1
Option Explicit
Private Sub Main()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim fld As ADODB.Field
Dim sLine As String
Dim hFile As String
Const COL_WIDTH As Long = 50 ' 50 caractères par colonne
Set cn = New ADODB.Connection
Call cn.Open("Provider=SQLOLEDB.1;Persist Security Infoúlse;User
ID=sa;Initial Catalog=Northwind;Data Source=GCODEV")
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
Call rs.Open("select CompanyName, ContactName from Customers", cn,
adOpenForwardOnly, adLockReadOnly)
' Créer l'entête
For Each fld In rs.Fields
sLine = sLine & PadLeft(fld.Name, COL_WIDTH)
Next fld
' On ouvre le fichier
hFile = FreeFile
Open "C:fichier.txt" For Output As #hFile
Print #hFile, String$(COL_WIDTH * rs.Fields.Count, "-")
Print #hFile, sLine
Print #hFile, String$(COL_WIDTH * rs.Fields.Count, "-")
Do Until rs.EOF
sLine = ""
For Each fld In rs.Fields
sLine = sLine & PadLeft(fld.Value, COL_WIDTH)
Next fld
Print #hFile, sLine
Call rs.MoveNext
Loop
' Ferme nos objets
Close #hFile
rs.Close
cn.Close
End Sub
Private Function PadLeft(ByRef sText As String, ByRef lLength As Long) As
String
PadLeft = Left$(sText & Space$(lLength), lLength)
End Function
'***
il existe des mécanismes qui permette de lire les champ d'une table. Pour sql serveur voir les procedure stocké étendue qui
< commence par sp_
Yep, elle se nomme sp_columns..
Il suffit donc de faire 1 1ere passe avec se type de mécanisme puis une seconde avec le select ....
Pas nécessaire dans ce cas ci... Le Recordset offre une collection de type Field qui permet d'obtenir les informations sur les colonnes dans ce dernier.. Il te suffit de boucler la collection de Fields une fois afin d'écrire tes headers avant les données
Ex : '*** ' référence : Microsoft ActiveX Data Objects 2.X Library ' Utilise la base de données NorthWind d'SQL Server.. ' Module1 Option Explicit
Private Sub Main()
Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Dim fld As ADODB.Field Dim sLine As String Dim hFile As String Const COL_WIDTH As Long = 50 ' 50 caractères par colonne
Set cn = New ADODB.Connection Call cn.Open("Provider=SQLOLEDB.1;Persist Security Infoúlse;User ID=sa;Initial Catalog=Northwind;Data Source=GCODEV")
Set rs = New ADODB.Recordset rs.CursorLocation = adUseClient Call rs.Open("select CompanyName, ContactName from Customers", cn, adOpenForwardOnly, adLockReadOnly)
' Créer l'entête For Each fld In rs.Fields sLine = sLine & PadLeft(fld.Name, COL_WIDTH) Next fld
' On ouvre le fichier hFile = FreeFile Open "C:fichier.txt" For Output As #hFile
Print #hFile, String$(COL_WIDTH * rs.Fields.Count, "-") Print #hFile, sLine Print #hFile, String$(COL_WIDTH * rs.Fields.Count, "-") Do Until rs.EOF sLine = "" For Each fld In rs.Fields sLine = sLine & PadLeft(fld.Value, COL_WIDTH) Next fld Print #hFile, sLine Call rs.MoveNext Loop
' Ferme nos objets Close #hFile rs.Close cn.Close
End Sub
Private Function PadLeft(ByRef sText As String, ByRef lLength As Long) As String PadLeft = Left$(sText & Space$(lLength), lLength) End Function '***
il existe des mécanismes qui permette de lire les champ d'une table. Pour sql serveur voir les procedure stocké étendue qui
< commence par sp_
Yep, elle se nomme sp_columns..
Il suffit donc de faire 1 1ere passe avec se type de mécanisme puis une seconde avec le select ....
Pas nécessaire dans ce cas ci... Le Recordset offre une
collection de type
Field qui permet d'obtenir les informations sur les
colonnes dans ce
dernier.. Il te suffit de boucler la collection de Fields
une fois afin
d'écrire tes headers avant les données
Ex : '*** ' référence : Microsoft ActiveX Data Objects 2.X Library ' Utilise la base de données NorthWind d'SQL Server.. ' Module1 Option Explicit
Private Sub Main()
Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Dim fld As ADODB.Field Dim sLine As String Dim hFile As String Const COL_WIDTH As Long = 50 ' 50 caractères par
colonne
Set cn = New ADODB.Connection Call cn.Open("Provider=SQLOLEDB.1;Persist Security
il existe des mécanismes qui permette de lire les champ
d'une table.
Pour sql serveur voir les procedure stocké étendue qui
< commence par sp_
Yep, elle se nomme sp_columns..
Il suffit donc de faire 1 1ere passe avec se type de
mécanisme puis une seconde avec le select ....
Pas nécessaire dans ce cas ci... Le Recordset offre une
collection de type
Field qui permet d'obtenir les informations sur les
colonnes dans ce
dernier.. Il te suffit de boucler la collection de Fields
une fois afin
d'écrire tes headers avant les données
Ex :
'***
' référence : Microsoft ActiveX Data Objects 2.X Library
' Utilise la base de données NorthWind d'SQL Server..
' Module1
Option Explicit
Private Sub Main()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim fld As ADODB.Field
Dim sLine As String
Dim hFile As String
Const COL_WIDTH As Long = 50 ' 50 caractères par
colonne
Set cn = New ADODB.Connection
Call cn.Open("Provider=SQLOLEDB.1;Persist Security
il existe des mécanismes qui permette de lire les champ d'une table. Pour sql serveur voir les procedure stocké étendue qui
< commence par sp_
Yep, elle se nomme sp_columns..
Il suffit donc de faire 1 1ere passe avec se type de mécanisme puis une seconde avec le select ....
Pas nécessaire dans ce cas ci... Le Recordset offre une
collection de type
Field qui permet d'obtenir les informations sur les
colonnes dans ce
dernier.. Il te suffit de boucler la collection de Fields
une fois afin
d'écrire tes headers avant les données
Ex : '*** ' référence : Microsoft ActiveX Data Objects 2.X Library ' Utilise la base de données NorthWind d'SQL Server.. ' Module1 Option Explicit
Private Sub Main()
Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Dim fld As ADODB.Field Dim sLine As String Dim hFile As String Const COL_WIDTH As Long = 50 ' 50 caractères par
colonne
Set cn = New ADODB.Connection Call cn.Open("Provider=SQLOLEDB.1;Persist Security