Modifier les donnes a partir d'une MsFlexGrid EN VB6

cs_riadH83 Messages postés 5 Date d'inscription mercredi 15 juillet 2009 Statut Membre Dernière intervention 31 mars 2010 - 3 sept. 2009 à 16:01
zurpa Messages postés 5 Date d'inscription mardi 2 août 2005 Statut Membre Dernière intervention 9 septembre 2009 - 8 sept. 2009 à 22:51
Bonjour
est ce que c'est possible de modifier les données de la msflexgrid ?
autrement dit est ce que on peut faire une mise à jour de la base de données a partir des données modifier sur la ligne d'une MsFlexGrid


merci d'avance

1 réponse

zurpa Messages postés 5 Date d'inscription mardi 2 août 2005 Statut Membre Dernière intervention 9 septembre 2009
8 sept. 2009 à 22:51
Oui, il faut parcourir ta grille et récupérer les données : Grid1.cells(x, y) puis tu construis le script SQL pour la mise à jour.


Si la première cellule d'une ligne est toujours remplie. Imaginons que tu n'aies que des chiffres, 3 colonnes. La connexion AdoDb à la base s'appelle Cnx (Cnx as Adobd.Connexion), je suppose que tu es connecté à la base.

dim SQL as String
dim X as integer
dim Y as integer

X=1
while grid1.cells(X,1) <> vbnullstring
Y=1
SQL = "INSERT INTO MaTable VALUES("
while Y < 4
SQL = SQL & grid1.cells(X,Y) & ", "
wend
SQL = left$(sql, len(SQL-2)) 'pour virer la virgule espace en trop
SQL = SQL & ");"
Cnx.execure SQL
wend

En gros, ça donne l'idée. Personnellement, je n'utilise jamais les propriétés te permettant de connecter directement les contrôles à la base. Ok, ça fait un peu plus de code mais l'avantage, c'est que tu es full SQL et que si tu dois changer de base, en gros, tout fonctionne juste en changeant la ligne de connexion.
0
Rejoignez-nous