Soyez le premier à donner votre avis sur cette source.
Snippet vu 4 069 fois - Téléchargée 38 fois
'************************************************************************* '*** Dans ce programme j'utilise les objet ADODB (Microsoft ActiveX Data object 2.5 '*** '*** Vous pouvez mettre ses lignes dans un module de base, '*** et l'appelé avec un bouton ou autre '*** '*** Programme qui transforme le contenu d'un record set en forme HTML '*** veuillez avoir configurer votre recordSet avant : '*** .ActiveConnection = nom de votre connexion '*** .CursorLocation = adUseClient '*** La mise en forme est assez rudimentaire, à vous de rajouter ce que vous voulez '************************************************************************* '*** Cette api pour ouvrire le fichier HTM avec l'explorateur par défaut *** Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _ (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _ ByVal lpParameters As String, ByVal lpDirectory As String, _ ByVal nShowCmd As Long) As Long Public Sub REC_2_HTML(ByVal req_SQL As String, ByVal Titre As String, _ ByVal Nom_Fichier As String, ByRef mon_record As ADODB.Recordset) Dim i As Integer '*** Créer le fichier HTM par défaut dans le répertoire du Logiciel *** Nom_Fichier = App.Path & "\" & Nom_Fichier & ".htm" On Error GoTo TT_err mon_record.Open req_SQL '*** Pour pouvoir tester cette condition, il faut que le curseur soit du coté Client *** '*** dans le cas contraire, la propriété recordCount retourne toujours -1 *** If mon_record.RecordCount <> 0 Then '*** Ouverture du fichier HTM en mode OUTPUT, donc écraser automatiquement *** Open Nom_Fichier For Output As #1 '*** début du fichier HTML avec Titre, ajoutez l'import *** '*** d'une feuille de style si vous le voulez *** Print #1, "<html>" Print #1, "<head><title>" & Titre & "</title></head>" Print #1, "<body>" '*** ici la mise en forme du tableau, à change si vous le voulez *** Print #1, "<table width=100% border=1>" '** Impression des noms des champs *** Print #1, "<tr>" For i = 0 To mon_record.Fields.Count - 1 Print #1, "<td><b>" & mon_record.Fields(i).Name & "</b></td>" Next Print #1, "</tr>" '*** insertion de toutes les valeurs **** Do Until mon_record.EOF Print #1, "<tr>" For i = 0 To mon_record.Fields.Count - 1 Print #1, "<td>" & mon_record.Fields(i).Value & "</td>" Next Print #1, "</tr>" mon_record.MoveNext Loop '*** Fini proprement le fichier HTML, meme si ses balises *** '*** ne sont pas importantes ... *** '*** et fermeture du fichier HTM *** Print #1, "</table></body></html>" Close #1 '*** Ouverture du fichier HTM avec l'explorateur internet *** ShellExecute 0, "open", Nom_Fichier, "", App.Path, 1 Else '*** Message si le recordset ne retourne aucune valeurs *** MsgBox "Pas de données" End If mon_record.Close On Error GoTo 0 Exit Sub TT_err: '*** Erreur possible : Perte de la connexion, Fichier HTM vérouillé '*** (car ouvert par un autre logiciel *** '*** ... '*** Message d'erreur avec description de l'erreur, et fin de l'application *** MsgBox "Erreur n° " & Err.Number & vbCrLf & vbCrLf & "Description : " & _ Err.Description & "." & vbCrLf & vbCrLf & "L'application va être arrêtée.", _ vbCritical, "Attention" End End Sub
23 déc. 2004 à 14:03
Lazarus
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.