Création de plusieurs fichiers ds une boucle

aakpa Messages postés 57 Date d'inscription mardi 24 mai 2005 Statut Membre Dernière intervention 10 janvier 2016 - 14 déc. 2005 à 12:35
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 - 14 déc. 2005 à 17:45
Slt a tous
Je voudrais créer ds un boucle a l'aide d'un recordset plusieurs fichier d'un meme type.
j'ai deja un programme qui me permet de créer un fichier txt ds lekel j'ecris l'ensemble du recordset. Mais ce fichier est trpo lourd. Donc je voudrais part ex apres avoir ecit 250 enregistrement créer automatiquement un autre fichier et ainsi de suite juska la fin du recorset. J'utilise VB
Merci de m'aider

3 réponses

aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
14 déc. 2005 à 15:38
quel est ton code ?

apparement tu sais lire dans ton recordset, tu sais faire des boucles et tu sais creer des fichiers... alors je ne vois pas ce qui te bloque

precise nous ton probleme
0
aakpa Messages postés 57 Date d'inscription mardi 24 mai 2005 Statut Membre Dernière intervention 10 janvier 2016
14 déc. 2005 à 16:39
Je suppose kil s'agit d'un recordset de 750 enregistrement. apres avoir créer un premier fichier txt (fichier1) et ecrire dedans 250 premiers enregistrements, je veux encore créer un autre fichier txt (fichier2) dans le meme repertoire dans lequel j'ecrirai mes 250 enregistrement suivants et ainsi de suite jusqu'à la fin du recordset.
VOICI CE QUE J'AI DEJA FAIT
If SqlWhere <> "" Then
'--------------
Dim i As Integer

Dim b As Integer
Dim Fichier As New Recordset
Set Fichier = New Recordset
Dim fs As Variant
Dim a As Variant
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("C:\TAF\TFIAP_TransFL.Pos", True)

Fichier.Open "SELECT * " _
& " FROM TABLE" _
& SqlWhere, db, adOpenStatic, adLockOptimistic
Set DataGrid1.DataSource = Fichier

'-----------------
i = 1
While Not Fichier.EOF
Screen.MousePointer = vbDefault
If Fichier("M_CUSTSUB") <> "001" Then
a.write (i)
a.write (Chr(64))
a.write (Fichier("MontDeb")) + a.write(Chr(64) + Fichier("SensDon") + Chr(64) + Fichier("NumFil") + Chr(64) + Fichier("TypComptDon") + Chr(64) + Fichier("GLDon") + Chr(64) + Fichier("SubGLDon") + Chr(64) + Fichier("NumDon") + Chr(64) + Fichier("SubDon") + Chr(64) + Fichier("DeviseDon") + Chr(64))
a.write (Chr(64))
a.write ("125")
a.write (Chr(64))
a.write (DTPicker1.Value)
a.write (Chr(64))
a.write ("")
a.write (Chr(64))
a.write ("125")
a.write (Chr(64))
a.write ("Frais de tenue de compte ")
a.write (Dat)
a.write (" ")
a.write (Year(Date))
a.writeline
End If
'------------


a.write (i)

a.write (Chr(64))
a.write ("125")
a.write (Chr(64))
a.write (DTPicker1.Value)
a.write (Chr(64))
a.write ("")
a.write (Chr(64))
a.write ("125")
a.write (Chr(64))
a.write ("TEXTE ")
a.write (Dat)
a.write (" ")
a.write (Year(Date))
a.writeline
'------------
' TAF 4
a.write (i)
a.write (Chr(64))
a.write ("125")
a.write (Chr(64))
a.write (DTPicker1.Value)
a.write (Chr(64))
a.write ("")
a.write (Chr(64))
a.write ("125")
a.write (Chr(64))
a.write ("TEXTE ")
a.write (Dat)
a.write (" ")
a.write (Year(Date))
a.writeline

'----------

Fichier.MoveNext
i = i + 1

Wend
a.Close
MsgBox " Fichier généré ", vbInformation, "Message"


Else
MsgBox " Aucun traitement aujourd'hui", vbInformation, "Message"


End If
0
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
14 déc. 2005 à 17:45
hé bien il faut qu etu rajoute dans ta boucle un test sur i

si c'est un mutliple de 250, tu ferme ton fichier, et tu en ouvre un autre. tu peux meme utiliser i pour genere le nom de ton fichier...
0
Rejoignez-nous