Petit Programme générique qui permet de générer un fichier HTML à partir d'une requête. Le fichier est cré par défaut dans le répertoire du logiciel.
D'autres explications dans le code.
A vous de la modifier pour ajouter une feuille de style, ou de modifier la structure, ...
Pour les gens qui font de la gestion ... il faut s'y connaitre un peu en accès aux données ...
Source / Exemple :
'*************************************************************************
'*** 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
Conclusion :
Exemple pour l'exécution :
Call REC_2_HTML("select * from table", "Liste de table", "page_web", rec_baseD)
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.