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 : sql UPDATE spécial.... [ Base de données / Access ] (lex1111)

mardi 21 novembre 2006 à 21:37:24 | sql UPDATE spécial....

lex1111

Salut,

je cherche à faire un update spécial en utilisant oledb sur une base de donnée access en vb2005

En fait, je veux faire un update sur plusieurs lignes de ma base de donnée en passant par un dataset


--------------------------------------------------------

dim con As New OleDb.OleDbConnection
dim da As OleDb.OleDbDataAdapter
dim  dc As OleDb.OleDbCommand
dim  ds As New DataSet
dim  dt As DataTable
dim  dr As DataRow
               

                sql = "...................."
                da = New OleDb.OleDbDataAdapter(sql, connection)
                'recupere les donnees dans le ds
                ds.Clear()
                da.Fill(ds)
               
               'ici je fais plein de modifications sur plusieurs lignes (rows) de la dataset...
               
               da.update(ds)     'je met a jour les modifications


-------------------------------------------------

Mais je  n'arrive pas a trouver une requete sql valide...une idée ?





mercredi 22 novembre 2006 à 12:00:57 | Re : sql UPDATE spécial....

cavo789

Voici ce que j'utilise dans ce type de cas:

Dim objConnection As ADODB.Connection

Set objConnection = CreateObject("ADODB.Connection")
     
objConnection.CursorLocation = adUseClient
     
objConnection.Open sDSNSFD   ' DSN vers ta base de données
   
objConnection.Execute "UPDATE TableName SET FieldName = Value"
objConnection.Close

Set objConnection = Nothing 

Christophe

mercredi 22 novembre 2006 à 12:27:46 | Re : sql UPDATE spécial....

lex1111

ADODB.Connection n'est pas défini sous vb2005, sinon j'aurais utilisé ADODB...

Une autre idée ?

mardi 5 août 2008 à 13:46:17 | Re : sql UPDATE spécial....

l0r3nz1

En effet vb2005 differe pas mal, il est plus lourd pour le code:
il faut:
creer un dataset
         un dataAdapter
         une connection
         un objet commande
         un objet commande builder
ouvrir la connexion
remplir le dataset
C'est pour une connexion sur sql serveur pour changer, on utilise les objets sqlTRUC au lieu de oledbTRUC
Voici une procédure assez pratique;

Public

Sub remplacer( ByVal table, ByVal bdd, ByVal champCondition, ByVal valeurCondition, ByVal champCible, ByVal valeurNouvelle)

Using
connection AsNew SqlConnection(getStringCon(bdd))
Dim adapter AsNew SqlDataAdapter()


adapter.SelectCommand = New SqlCommand("select * from " & table & " where [" & table & "].[" & champCondition & "] = '" & valeurCondition & "'", connection)
'ou
'adapter.SelectCommand = New SqlCommand(une_requete
, connection)
Dim builder As SqlCommandBuilder = New
SqlCommandBuilder(adapter)

Try
connection.Close() '
au cas ou une connexion est encore ouverte
Catch ex As Exception
End
Try
connection.Open()


Dim

dataSet As DataSet = New DataSet
adapter.Fill(dataSet, table)

Dim

i, countFor

For countFor = 0 To dataSet.Tables(0).Rows.Count - 1
   For i = 0 To dataSet.Tables(0).Columns.Count - 1
      dataSet.Tables(0).Rows(countFor).Item(dataSet.Tables(0).Columns.IndexOf(champCible)) = "" & valeurNouvelle
   
Next
Next

Try
adapter.Update(dataSet, table)
Catch ex As Exception
If ex.ToString <> ""Then dataSet.RejectChanges()
MsgBox(ex.ToString)
EndTry

connection.Close()

End Using

End Sub

On peut aussi creer des autres objet "table" "ligne" et "colonne" et ... Il est donc assez lourd mais complet même si desfois on bloque on ne comprend plus vraiment pourquoi ( droits, serveur...)




Cette discussion est classé dans : sql, ds, update, spécial, oledb


Répondre à ce message

Sujets en rapport avec ce message

login sql server [ par saliha ] j'ai une application client/sereur ds laquelle j'utilise Data Environnement et l'objet connexion pour acceder aux objets de ma bd : tables views, stor SVP besoin d'aide!!!!!!!!!!!!!!!!!!!!!!!!! [ par Crazyblinkgirl ] Salut!!!J'ai une requete sql = "insert into client ..." qui fonctionne mais seulement si j'ai un client déjà ds la base (je fais une recherche), quan Requetes SQL ds DataEnvironnement [ par Baronoirzereal ] BonjourJ'aimerais faire une recherche dans une base SQL Server de telle sorte que le resultat soit en fonction d'une variable donnée par une DataCombo Question SQL(UPDATE) sur ACCESS [ par cristiandan ] Bonjour,J'ai une base de donnée de type ACCESS qui contient un champ C1DTCMD de type date. Je voudrais par une requete mise a jour transformer toutes UPDATE error... [ par nd25 ] Voila,je dois convertir un prgm dao en ado...alors avec 1 base(access2000) bidon je fait des test...or je n'arrive pas à modifier des données...Ma bas requête SQL après un SET dans un Update [ par DocGreen ] Bonjour, je voudrais savoir s'il était possible de mettre une sous requête SELECT après un SET dans un UPDATE.si oui comment ?sinon j'ai pensé à récup Update d'un champs calculé avec SQL Server [ par BartDav ] Appel à l'aide !En utilisant un ADO connecté sur une liaison ODBC Access, je pouvais modifier un champ calculé d'une requete sous VB6.Au rage, au dése SQL ds VBA [ par nj16 ] salutdans le prog que je dvlp j'ai besoin de faire une table d'anlyse croisée en sql.qqun pourrait me dire pourquoi j'ai un message d'erreur avec le DataReport et requete sql avec variable [ par yanska064 ] Voilà j'ai un prob, je ne sais pas comment faire pour me servir d'un datareport avec une requete sql ds laquelle la valeur d'un parametre se trouve ds Pb de commit avec un ado sur sql server 2000 [ par padawan123 ] salutj'ai un souci lors de l'execution du commit apres un update sur sql server 2000ce qui se passe : je lance un "begin transaction trans1" que j'exe


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.