Connexion accès sous vb+ imprimer document

rhumanuss Messages postés 36 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 2 novembre 2007 - 4 févr. 2006 à 10:04
rhumanuss Messages postés 36 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 2 novembre 2007 - 4 févr. 2006 à 13:23
Salut tout le monde
Voila, j'ai 2 soucis majeurs:

> Je programme en VB 6.0, et je n'arrive pas a me connecter à la base de donnée crée sous accès 2000.Qd je lance le programme, il m'indique qu'elle est introuvable.Je souhaite juste enregistrer des contenus de textsboxxs dans cette base (rien de très compliqué....mais bon, débutant débutant). Cela m'ennuie assez fortement.
Quelqu'un pourrait me dire les lignes de commande à exécuter

>Le second problème est au niveau de l'impression d'une fiche word. En fait, quand je click sur un bouton imprimer, les champs remplis dans mes textboxs se mettent bien aux signets prévus dans word à cet effet. J'arrive également à cacher l'ouverture de word, mais il ne veux pas imprimer.Il me demande avant d'enregistrer sous le document.Hors, je veux uniquement imprimer cete fiche.
Need help, merci d'avance

4 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
4 févr. 2006 à 11:21
Ben dis nous comment tu fais pour accèder à ta base de données pour qu'on puisse voir ce qui clôche...



Il existe beaucoup de source à ce sujet tu sais.

_____________________________________________________________________
0
rhumanuss Messages postés 36 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 2 novembre 2007
4 févr. 2006 à 11:57
Et bien le code pour enregistrer dans ma base donne a peu près ca:


Set db = OpenDatabase("IGDEVIS2.mdb")

'appelle de la procedure de verification pr savoir si la fiche est apte a etre enregistré ou non
SQL = "SELECT * FROM CLIENT"
Set rs = db.OpenRecordset(SQL)
If rs.RecordCount > 0 Then
rs.MoveFirst
While Not rs.EOF
If rs.Fields("N_CLIENT") = Txt_AjoutClient_Numero.Text Then
nouvelle_fiche_client = False
End If
rs.MoveNext
Wend
End If
rs.Close


If nouvelle_fiche_client = True Then
'la fiche n'existe pas
SQL = "INSERT INTO CLIENT [( N_CLIENT, CIVILITE_CLIENT, NOM_CLIENT, PRENOM_CLIENT, N_RUE_CLIENT, RUE_CLIENT, CODE_POSTAL_CLIENT, VILLE_CLIENT, TELEPHONE_CLIENT, LISTE_ROUGE_CLIENT, PORTABLE_CLIENT, FAX_CLIENT, EMAIL_CLIENT VALUES (Txt_AjoutClient_Numero.text, Comb_AjoutClient_Civilite.text, Txt_AjoutClient_Nom.text, Txt_AjoutClient_Prenom.text, Text_AjoutClient_NumeroRue.text, Txt_AjoutClient_Rue.text, Txt_AjoutClient_Codepostal.text, Txt_AjoutClient_Ville.text, Txt_AjoutClient_Tel.text, Check_AjoutClient_Listerouge.value, Txt_AjoutClient_Portable.text, Txt_AjoutClient_Fax.text, Txt_AjoutClient_Mail.text)"
With rs
Set rs = db.OpenRecordset(SQL)

.AddNew
.Fields("CIVILITE_CLIENT") = Comb_AjoutClient_civilité.Text
.Fields("NOM_CLIENT") = Txt_AjoutClient_Nom.Text
.Fields("PRENOM_CLIENT") = Txt_AjoutClient_Prenom.Text
.Fields("N_RUE_CLIENT") = Txt_AjoutClient_NumeroRue.Text
.Fields("RUE_CLIENT") = Txt_AjoutClient_Rue.Text
.Fields("CODE_POSTAL_CLIENT") = Txt_AjoutClient_Codepostal.Text
.Fields("VILLE_CLIENT") = Txt_AjoutClient_Ville.Text
.Fields("TELEPHONE_CLIENT") = Txt_AjoutClient_Tel.Text
.Fields("PORTABLE_CLIENT") = Txt_AjoutClient_Portable.Text
.Fields("FAX_CLIENT") = Txt_AjoutClient_Fax.Text
.Fields("EMAIL_CLIENT") = Txt_AjoutClient_Mail.Text
.Update
.Close
End With


' End If
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
4 févr. 2006 à 12:56
Hum, pourquoi faire une requête d'insertion si c'est pour ensuite insérer un nouveau champ par le code ?



De plus, il faut que le chemin d'accès à ta base de données soit
complet. Par exemple, s'il ta base de données est dans le dossier de
ton application :



Set db = OpenDatabase(App.path & "\IGDEVIS2.mdb")

'appelle de la procedure de verification pr savoir si la fiche est apte a etre enregistré ou non
SQL = "SELECT * FROM CLIENT"
Set rs = db.OpenRecordset(SQL)
If rs.RecordCount > 0 Then
rs.MoveFirst
While Not rs.EOF
If rs.Fields("N_CLIENT") = Txt_AjoutClient_Numero.Text Then
nouvelle_fiche_client = False
End If
rs.MoveNext
Wend
End If
rs.Close
If nouvelle_fiche_client = True Then
'la fiche n'existe pas

SQL = "SELECT * FROM CLIENT"
With rs
Set rs = db.OpenRecordset(SQL)

.AddNew
.Fields("CIVILITE_CLIENT") = Comb_AjoutClient_civilité.Text
.Fields("NOM_CLIENT") = Txt_AjoutClient_Nom.Text
.Fields("PRENOM_CLIENT") = Txt_AjoutClient_Prenom.Text
.Fields("N_RUE_CLIENT") = Txt_AjoutClient_NumeroRue.Text
.Fields("RUE_CLIENT") = Txt_AjoutClient_Rue.Text

.Fields("CODE_POSTAL_CLIENT") = Txt_AjoutClient_Codepostal.Text
.Fields("VILLE_CLIENT") = Txt_AjoutClient_Ville.Text
.Fields("TELEPHONE_CLIENT") = Txt_AjoutClient_Tel.Text
.Fields("PORTABLE_CLIENT") = Txt_AjoutClient_Portable.Text
.Fields("FAX_CLIENT") = Txt_AjoutClient_Fax.Text
.Fields("EMAIL_CLIENT") = Txt_AjoutClient_Mail.Text
.Update
.Close
End With



End If


Enfin, je te conseille d'utiliser ADO à la place de DAO, qui commence à
dater, et qui n'est pas forcément compatible avec les derniers formats
de bases de données.

_____________________________________________________________________
0
rhumanuss Messages postés 36 Date d'inscription samedi 21 mai 2005 Statut Membre Dernière intervention 2 novembre 2007
4 févr. 2006 à 13:23
Je ne sais pas ce qu'est ADO, comment on l'active.lol. J'ai activé microsoft DAO 3.51 Object Library.

Je souhaite accéder à une base accès 2000, mais il ne reconnait pas le format. Je l'ai donc convertie en 97, et désormais, quand je click sur enregistrer, il me marque une opération non valide sur la commande
set rs = db.OpenRecordset(SQL,dbOpenDynaset)

J'avoue que je ne comprend pas grand chose au problème.
0
Rejoignez-nous