|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : Operation sur une table avec VB [ Archives Visual Basic / Formulaire ] (H.laalouj)
Informations & options pour cette discussion
|
samedi 18 mars 2000 à 08:26:42 |
Operation sur une table avec VB

H.laalouj
|
Question 1: J'aimerais avoir un exemple d'acces à une table d'une base de données avec les differentes operations de manipulation de données: Ajout, Recherche, Modification, Suppression. Question 2: Est ce qu'il ya possibilité de saisir une valeur dans un champ sur deux tables par exemple: Id sur table1 et Id sur table2 de la même base de données. Merci Infiniment.
|
|
|
|
samedi 18 mars 2000 à 14:41:34 |
Re : Operation sur une table avec VB

Amonbofis
|
Réponse longue, mais je crois que tout y est.
Question 1: [Tu sais sûrement déjà pour l'étape A, mais pour tout les autres...] A) OUVERTURE: Dim OutSQLQry As String Dim MyDB As Database Dim MyRSet As Recordset Dim DBPath As String
DBPath = [CommonDialog1.FileName ou autre source] OutSQLQry = "SELECT ChampsX FROM TableX;" Set MyDB = DBEngine.OpenDatabase(DBPath, True, True) Set MyRSet = MyBD.OpenRecordset(OutSQLQry, dbOpenSnapshot) B) AJOUT: With MyRSet .AddNew .Fields("ChampsX") = ValeurX .Fields("ChampsY") = ChaineY .Update 'Sans cette ligne, rien d'enregistré End With
C) 1. RECHERCHE, dans une Table résultat requête dans un Recordset: OutSQLQry = "SELECT ChampsX FROM TableX WHERE ChampsY = 'Chaine';" ou OutSQLQry = "SELECT ChampsX FROM TableX WHERE ChampsY = '" & ChaineX & "';" ou OutSQLQry = "SELECT ChampsX FROM TableX WHERE ChampsZ = Valeur;" ou OutSQLQry = "SELECT ChampsX FROM TableX WHERE ChampsZ = " & str$(ValeurX) & ";" Set MyRSet = MyBD.OpenRecordset(OutSQLQry, dbOpenSnapshot) 'Tout dépend du type de tes champs, pour les chaines, il faut s'assurer de doubler les apostrophes sinon la requête finie au mauvais endroit et ça casse. 'Si aucun résultat, MyRSet.RecordCount = 0
2. RECHERCHE, dans un Recordset: 'Ce qui s'applique à la recherche dans une table pour la requête est vrai ici. 'Toutes les requêtes sont du type logique "WHERE X = Y;" OutSQLQry = "ChampsX = Valeur"
'Placer le curseur sur la première ligne répondant à la requête MyRSet.FindFirst(OutSQLQry) 'Toute consultation se fait sur la ligne où le curseur est. Resultat = MyRSet.Fields("ChampsX") 'Ligne suivante MyRSet.FindNext(OutSQLQry) 'Si aucun résultat, MyRSet.NoMatch = True
'Un bon bloc à utiliser: MyRSet.FindFirst OutSQLQry Do Until MyRSet.NoMatch VariableX = MyRSet.Fields("ChampsX") 'Ici code à exécuter sur VariableX MyRSet.FindNext OutSQLQry Loop
D) MODIFICATION: OutSQLQry = "SELECT ChampsX FROM TableX;" Set MyRSet = MyBD.OpenRecordset(OutSQLQry, dbOpenSnapshot) OutSQLQry = "ChampsX = Valeur" MyRSet.FindFirst(OutSQLQry) MyRSet.Edit MyRSet.Fields("ChampsX") = ValeurX MyRSet.Update
E) SUPRESSION: OutSQLQry = "SELECT ChampsX FROM TableX;" Set MyRSet = MyBD.OpenRecordset(OutSQLQry, dbOpenSnapshot) OutSQLQry = "ChampsX = Valeur" MyRSet.FindFirst(OutSQLQry) MyRSet.Delete
Question 2: 'Dans une même requête, je crois que c'est impossible, 'ou du moins je ne sais pas, autrement: Dim OutSQLQry As String Dim MyDB As Database Dim MyRSet As Recordset Dim MyRSet2 as Recordset Dim DBPath As String
DBPath = [CommonDialog1.FileName ou autre source] OutSQLQry = "SELECT ChampsID1 FROM TableX;" Set MyDB = DBEngine.OpenDatabase(DBPath, True, True) Set MyRSet = MyBD.OpenRecordset(OutSQLQry, dbOpenSnapshot)
OutSQLQry = "SELECT ChampsID2 FROM TableY;" Set MyRSet2 = MyBD.OpenRecordset(OutSQLQry, dbOpenSnapshot)
'Ensuite Resultat1 = MyRSet.Fields("ChampsID1") Resultat2 = MyRSet2.Fields("ChampsID2")
'Je te donne un dernier exemple, peut-être en fait que c'est ce que tu veux... OutSQLQry = "(SELECT ChampX, ChampsY FROM TableX;) UNION ALL (SELECT ChampsX, ChampsY FROM TableY;) ORDER BY ChampsX;" Set MyRSet = MyDB.OpenRecordset(OutSQLQry, dbOpenSnapshot)
'MyRSet contient l'ensemble résultat comme si tu avais fait la requête sur une seule table. 'UNION ALL force à garder les duplicatas, UNION les résultats unique.
------------------------------- Réponse au message : -------------------------------
Question 1: J'aimerais avoir un exemple d'acces à une table d'une base de données avec les differentes operations de manipulation de données: Ajout, Recherche, Modification, Suppression. Question 2: Est ce qu'il ya possibilité de saisir une valeur dans un champ sur deux tables par exemple: Id sur table1 et Id sur table2 de la même base de données. Merci Infiniment. -------------------------------
|
|
|
|
lundi 20 mars 2000 à 05:54:33 |
Re : Operation sur une table avec VB

:OB
|
Salut ! Je profite de ce message pour poser une question subsidiaire. Dans le cas de l'utilisation d'un datacontrol, la méthode AddNew plante chez moi en me déclarant que ma table est ouverte en lecture seule. Or, je n'utilise pas la méthode OpenDatabase (forcément, pas besoin avec un datacontrol), la propriété ReadOnly est à false, les fichier de BD est accessible et au bon endroit, et j'ai les droits pour y accéder. Une piste de recherche ? Merci d'avance. Olivier.
------------------------------- Réponse au message : -------------------------------
Réponse longue, mais je crois que tout y est.
Question 1: [Tu sais sûrement déjà pour l'étape A, mais pour tout les autres...] A) OUVERTURE: Dim OutSQLQry As String Dim MyDB As Database Dim MyRSet As Recordset Dim DBPath As String
DBPath = [CommonDialog1.FileName ou autre source] OutSQLQry = "SELECT ChampsX FROM TableX;" Set MyDB = DBEngine.OpenDatabase(DBPath, True, True) Set MyRSet = MyBD.OpenRecordset(OutSQLQry, dbOpenSnapshot) B) AJOUT: With MyRSet .AddNew .Fields("ChampsX") = ValeurX .Fields("ChampsY") = ChaineY .Update 'Sans cette ligne, rien d'enregistré End With
C) 1. RECHERCHE, dans une Table résultat requête dans un Recordset: OutSQLQry = "SELECT ChampsX FROM TableX WHERE ChampsY = 'Chaine';" ou OutSQLQry = "SELECT ChampsX FROM TableX WHERE ChampsY = '" & ChaineX & "';" ou OutSQLQry = "SELECT ChampsX FROM TableX WHERE ChampsZ = Valeur;" ou OutSQLQry = "SELECT ChampsX FROM TableX WHERE ChampsZ = " & str$(ValeurX) & ";" Set MyRSet = MyBD.OpenRecordset(OutSQLQry, dbOpenSnapshot) 'Tout dépend du type de tes champs, pour les chaines, il faut s'assurer de doubler les apostrophes sinon la requête finie au mauvais endroit et ça casse. 'Si aucun résultat, MyRSet.RecordCount = 0
2. RECHERCHE, dans un Recordset: 'Ce qui s'applique à la recherche dans une table pour la requête est vrai ici. 'Toutes les requêtes sont du type logique "WHERE X = Y;" OutSQLQry = "ChampsX = Valeur"
'Placer le curseur sur la première ligne répondant à la requête MyRSet.FindFirst(OutSQLQry) 'Toute consultation se fait sur la ligne où le curseur est. Resultat = MyRSet.Fields("ChampsX") 'Ligne suivante MyRSet.FindNext(OutSQLQry) 'Si aucun résultat, MyRSet.NoMatch = True
'Un bon bloc à utiliser: MyRSet.FindFirst OutSQLQry Do Until MyRSet.NoMatch VariableX = MyRSet.Fields("ChampsX") 'Ici code à exécuter sur VariableX MyRSet.FindNext OutSQLQry Loop
D) MODIFICATION: OutSQLQry = "SELECT ChampsX FROM TableX;" Set MyRSet = MyBD.OpenRecordset(OutSQLQry, dbOpenSnapshot) OutSQLQry = "ChampsX = Valeur" MyRSet.FindFirst(OutSQLQry) MyRSet.Edit MyRSet.Fields("ChampsX") = ValeurX MyRSet.Update
E) SUPRESSION: OutSQLQry = "SELECT ChampsX FROM TableX;" Set MyRSet = MyBD.OpenRecordset(OutSQLQry, dbOpenSnapshot) OutSQLQry = "ChampsX = Valeur" MyRSet.FindFirst(OutSQLQry) MyRSet.Delete
Question 2: 'Dans une même requête, je crois que c'est impossible, 'ou du moins je ne sais pas, autrement: Dim OutSQLQry As String Dim MyDB As Database Dim MyRSet As Recordset Dim MyRSet2 as Recordset Dim DBPath As String
DBPath = [CommonDialog1.FileName ou autre source] OutSQLQry = "SELECT ChampsID1 FROM TableX;" Set MyDB = DBEngine.OpenDatabase(DBPath, True, True) Set MyRSet = MyBD.OpenRecordset(OutSQLQry, dbOpenSnapshot)
OutSQLQry = "SELECT ChampsID2 FROM TableY;" Set MyRSet2 = MyBD.OpenRecordset(OutSQLQry, dbOpenSnapshot)
'Ensuite Resultat1 = MyRSet.Fields("ChampsID1") Resultat2 = MyRSet2.Fields("ChampsID2")
'Je te donne un dernier exemple, peut-être en fait que c'est ce que tu veux... OutSQLQry = "(SELECT ChampX, ChampsY FROM TableX;) UNION ALL (SELECT ChampsX, ChampsY FROM TableY;) ORDER BY ChampsX;" Set MyRSet = MyDB.OpenRecordset(OutSQLQry, dbOpenSnapshot)
'MyRSet contient l'ensemble résultat comme si tu avais fait la requête sur une seule table. 'UNION ALL force à garder les duplicatas, UNION les résultats unique.
------------------------------- Réponse au message : -------------------------------
Question 1: J'aimerais avoir un exemple d'acces à une table d'une base de données avec les differentes operations de manipulation de données: Ajout, Recherche, Modification, Suppression. Question 2: Est ce qu'il ya possibilité de saisir une valeur dans un champ sur deux tables par exemple: Id sur table1 et Id sur table2 de la même base de données. Merci Infiniment. ------------------------------- -------------------------------
|
|
|
Cette discussion est classé dans : vb, table, données, question, operation
Répondre à ce message
Sujets en rapport avec ce message
VB/Excel juste une petite question [ par ndsaerith ]
Bonjour tout le mondevoila j'ai une petite question sur l'importation de dojnées sur excel via VB.J'ai réussi à oiuvriur excel, et à mettre des donnée
Graphique vb : URGENT [ par liliane0 ]
bonjour,j'en profites tt d'abord pour remercier tous qui m'on donné un coup de main pour ma dérnière question concernant les images ds le menu.ma nouv
Durée de chargement dans un listview [ par sony20 ]
Bonjour,J'ai besoin d'un avis SVP :J'ai une appli VB qui cherche dans SQL (à l'aide de ADODB) les données d'une table selon des paramètres. Les donnée
VB et base de données [ par stefdsig ]
Bonjour,je dois développer une Application VB pour gérer une base de données Access. Je dois y accéder en saisie, extraction et consultation. J'ai déc
Comment insérer des données dans une table [ par erce78 ]
Bonsoir,Je n'arrive pas à trouver la réponse à ma question aussi je me permet de vous soliciter.Je suis un débutant sur vb et j'apprend en essayant de
Plusieur question au sujet des Base de données. [ par kitcarflo ]
Voila, je cherche depuis quelques jours a créer une application utilisant des bases de données pour l'entreprise ou je suis.Ayant rechercher un peu pa
accès aux bases de données en VB.NET [ par hourrane ]
Bonjour,J'arrive bien à manipuler les bases de données access en vb.net par code mais j'ai un problème lorsque je veux établir une connexion à l'aide
Tableau de bytes en VB.NET [ par Saros ]
C'est une question sur VB.NET, que je suis en train d'apprendre...Donc voilà : l'objet 'System.IO.FileStream' permet de manipuler des fichiers, c'est
VB vs oracle ..besoin de renseignements [ par LoVeyou ]
Bonjour,j'aurai besoin de quelques renseignements...Il me faut créer une application dans VB6 en lien avec Oracle..Je me suis donc connecté à Oracle(n
Probléme pour enregistrer auto les données de vb a access [ par jimluis ]
Bonjour, Ce que je voudrais, c'est faire que les données de mon interface,dans textbox, combobox, etc... soit tranférer automatiquement quand ces comp
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
|