Bonjour
Dans une procédure, je veux mettre à jour une table Access :
Ma table contient un champs numérique "Ordre"
et champs string "IDarticle"
Quand un enregistrement est supprimé il me renuméroter le champs "Ordre"
Pour cela je fais une procédure en boucle sur la table pour récuperer
l'IDarticle du premier enregistrement
Dans cette procédure j'en intègre une autre pour extraire l'enregistrement
et faire un Update sur le champs Ordre
Quand je teste cela marche 1 fois sur deux, quand cela beug :
c'est sur la deuxième procédure et j'ai le message : impossible de mettre
à jour, actuellement vérouillée
Voyez-vous pourquoi ?
Merci pour vos réponses
Emilie
Bonjour
Dans une procédure, je veux mettre à jour une table Access :
Ma table contient un champs numérique "Ordre"
et champs string "IDarticle"
Quand un enregistrement est supprimé il me renuméroter le champs "Ordre"
Pour cela je fais une procédure en boucle sur la table pour récuperer
l'IDarticle du premier enregistrement
Dans cette procédure j'en intègre une autre pour extraire l'enregistrement
et faire un Update sur le champs Ordre
Quand je teste cela marche 1 fois sur deux, quand cela beug :
c'est sur la deuxième procédure et j'ai le message : impossible de mettre
à jour, actuellement vérouillée
Voyez-vous pourquoi ?
Merci pour vos réponses
Emilie
Bonjour
Dans une procédure, je veux mettre à jour une table Access :
Ma table contient un champs numérique "Ordre"
et champs string "IDarticle"
Quand un enregistrement est supprimé il me renuméroter le champs "Ordre"
Pour cela je fais une procédure en boucle sur la table pour récuperer
l'IDarticle du premier enregistrement
Dans cette procédure j'en intègre une autre pour extraire l'enregistrement
et faire un Update sur le champs Ordre
Quand je teste cela marche 1 fois sur deux, quand cela beug :
c'est sur la deuxième procédure et j'ai le message : impossible de mettre
à jour, actuellement vérouillée
Voyez-vous pourquoi ?
Merci pour vos réponses
Emilie
Bonjour Emilie,
Pourrais tu nous indiquer la méthode que tu utilises pour lire tes
données? Tel quel ça ressemble à une écriture qui tente de se faire alors
que la donnée est verrouillée en lecture... par un DataReader par exemple.
--
Jérémy JEANSON,
MCP
http://www.jjeanson.fr/
"Emilie" a écrit dans le message de groupe de
discussion : 4ae84933$0$913$Bonjour
Dans une procédure, je veux mettre à jour une table Access :
Ma table contient un champs numérique "Ordre"
et champs string "IDarticle"
Quand un enregistrement est supprimé il me renuméroter le champs "Ordre"
Pour cela je fais une procédure en boucle sur la table pour récuperer
l'IDarticle du premier enregistrement
Dans cette procédure j'en intègre une autre pour extraire
l'enregistrement et faire un Update sur le champs Ordre
Quand je teste cela marche 1 fois sur deux, quand cela beug :
c'est sur la deuxième procédure et j'ai le message : impossible de mettre
à jour, actuellement vérouillée
Voyez-vous pourquoi ?
Merci pour vos réponses
Emilie
Bonjour Emilie,
Pourrais tu nous indiquer la méthode que tu utilises pour lire tes
données? Tel quel ça ressemble à une écriture qui tente de se faire alors
que la donnée est verrouillée en lecture... par un DataReader par exemple.
--
Jérémy JEANSON,
MCP
http://www.jjeanson.fr/
"Emilie" <amc-emilie@wanadoo.fr> a écrit dans le message de groupe de
discussion : 4ae84933$0$913$ba4acef3@news.orange.fr...
Bonjour
Dans une procédure, je veux mettre à jour une table Access :
Ma table contient un champs numérique "Ordre"
et champs string "IDarticle"
Quand un enregistrement est supprimé il me renuméroter le champs "Ordre"
Pour cela je fais une procédure en boucle sur la table pour récuperer
l'IDarticle du premier enregistrement
Dans cette procédure j'en intègre une autre pour extraire
l'enregistrement et faire un Update sur le champs Ordre
Quand je teste cela marche 1 fois sur deux, quand cela beug :
c'est sur la deuxième procédure et j'ai le message : impossible de mettre
à jour, actuellement vérouillée
Voyez-vous pourquoi ?
Merci pour vos réponses
Emilie
Bonjour Emilie,
Pourrais tu nous indiquer la méthode que tu utilises pour lire tes
données? Tel quel ça ressemble à une écriture qui tente de se faire alors
que la donnée est verrouillée en lecture... par un DataReader par exemple.
--
Jérémy JEANSON,
MCP
http://www.jjeanson.fr/
"Emilie" a écrit dans le message de groupe de
discussion : 4ae84933$0$913$Bonjour
Dans une procédure, je veux mettre à jour une table Access :
Ma table contient un champs numérique "Ordre"
et champs string "IDarticle"
Quand un enregistrement est supprimé il me renuméroter le champs "Ordre"
Pour cela je fais une procédure en boucle sur la table pour récuperer
l'IDarticle du premier enregistrement
Dans cette procédure j'en intègre une autre pour extraire
l'enregistrement et faire un Update sur le champs Ordre
Quand je teste cela marche 1 fois sur deux, quand cela beug :
c'est sur la deuxième procédure et j'ai le message : impossible de mettre
à jour, actuellement vérouillée
Voyez-vous pourquoi ?
Merci pour vos réponses
Emilie
Bonjour Jérémy
Voici mon code :
Sub VoirNum()
'connection a la base de données
Using connexion As OleDbConnection = Me.DBConn
'DBConn.Open()
Dim DBCommand As OleDbCommand
'Objet Dataset
Dim DSPageData As New DataSet
'connection a la base de données
DBCommand = New OleDbCommand("Select * From StockTRAV Where
IDrayon=?", connexion)
'objet DataAdapter
Dim myOleDbDataAdapter As New OleDbDataAdapter(DBCommand)
DBCommand.Parameters.AddWithValue("IDrayon",
Session("IDrayon"))
myOleDbDataAdapter.SelectCommand.Parameters("IDrayon").Value =
Session("IDrayon")
myOleDbDataAdapter.Fill(DSPageData, "NbRef")
Session("NbRef") = DSPageData.Tables("NbRef").Rows.Count
Dim VoirNbNum As Integer = Session("NbRef")
Dim counter As Integer = 1
Dim Lid As String = ""
Dim EnPromo As String = ""
Dim EnCC As String = ""
For i = 0 To VoirNbNum - 1
If counter <= VoirNbNum + 1 Then
Session("Num") = counter
Lid = DSPageData.Tables("NbRef").Rows(counter -
1).Item("IDarticle")
Session("RefProd") = Lid
'Dim Larticle >
Dim Avoir As String = Lid
ModifierNum()
End If
counter += 1
Next i
DBConn.Close()
End Using
End Sub
Sub ModifierNum()
Dim LOR As String = Session("Num")
Using connexion As OleDbConnection = Me.DBConn
'DBConn.Open()
'objet DataAdapter
Dim PourVoir As String = Session("RefProd")
Dim DBUpdate As New OleDbCommand
DBUpdate.CommandText = "Update StockTRAV set " _
& "Ordre= @Ordre" _
& " Where IDarticle= ?"
Dim myOleDbDataAdapter As New OleDbDataAdapter(DBUpdate)
DBUpdate.Parameters.AddWithValue("Ordre", Session("Num"))
DBUpdate.Parameters.AddWithValue("IDarticle",
Session("RefProd"))
DBUpdate.Connection = DBConn
DBUpdate.Connection.Open()
DBUpdate.ExecuteNonQuery()
DBConn.Close()
End Using
End Sub
Merci pour ton aide
Emilie
"Jérémy Jeanson" a écrit dans le message de news:Bonjour Emilie,
Pourrais tu nous indiquer la méthode que tu utilises pour lire tes
données? Tel quel ça ressemble à une écriture qui tente de se faire alors
que la donnée est verrouillée en lecture... par un DataReader par
exemple.
--
Jérémy JEANSON,
MCP
http://www.jjeanson.fr/
"Emilie" a écrit dans le message de groupe de
discussion : 4ae84933$0$913$Bonjour
Dans une procédure, je veux mettre à jour une table Access :
Ma table contient un champs numérique "Ordre"
et champs string "IDarticle"
Quand un enregistrement est supprimé il me renuméroter le champs "Ordre"
Pour cela je fais une procédure en boucle sur la table pour récuperer
l'IDarticle du premier enregistrement
Dans cette procédure j'en intègre une autre pour extraire
l'enregistrement et faire un Update sur le champs Ordre
Quand je teste cela marche 1 fois sur deux, quand cela beug :
c'est sur la deuxième procédure et j'ai le message : impossible de
mettre à jour, actuellement vérouillée
Voyez-vous pourquoi ?
Merci pour vos réponses
Emilie
Bonjour Jérémy
Voici mon code :
Sub VoirNum()
'connection a la base de données
Using connexion As OleDbConnection = Me.DBConn
'DBConn.Open()
Dim DBCommand As OleDbCommand
'Objet Dataset
Dim DSPageData As New DataSet
'connection a la base de données
DBCommand = New OleDbCommand("Select * From StockTRAV Where
IDrayon=?", connexion)
'objet DataAdapter
Dim myOleDbDataAdapter As New OleDbDataAdapter(DBCommand)
DBCommand.Parameters.AddWithValue("IDrayon",
Session("IDrayon"))
myOleDbDataAdapter.SelectCommand.Parameters("IDrayon").Value =
Session("IDrayon")
myOleDbDataAdapter.Fill(DSPageData, "NbRef")
Session("NbRef") = DSPageData.Tables("NbRef").Rows.Count
Dim VoirNbNum As Integer = Session("NbRef")
Dim counter As Integer = 1
Dim Lid As String = ""
Dim EnPromo As String = ""
Dim EnCC As String = ""
For i = 0 To VoirNbNum - 1
If counter <= VoirNbNum + 1 Then
Session("Num") = counter
Lid = DSPageData.Tables("NbRef").Rows(counter -
1).Item("IDarticle")
Session("RefProd") = Lid
'Dim Larticle >
Dim Avoir As String = Lid
ModifierNum()
End If
counter += 1
Next i
DBConn.Close()
End Using
End Sub
Sub ModifierNum()
Dim LOR As String = Session("Num")
Using connexion As OleDbConnection = Me.DBConn
'DBConn.Open()
'objet DataAdapter
Dim PourVoir As String = Session("RefProd")
Dim DBUpdate As New OleDbCommand
DBUpdate.CommandText = "Update StockTRAV set " _
& "Ordre= @Ordre" _
& " Where IDarticle= ?"
Dim myOleDbDataAdapter As New OleDbDataAdapter(DBUpdate)
DBUpdate.Parameters.AddWithValue("Ordre", Session("Num"))
DBUpdate.Parameters.AddWithValue("IDarticle",
Session("RefProd"))
DBUpdate.Connection = DBConn
DBUpdate.Connection.Open()
DBUpdate.ExecuteNonQuery()
DBConn.Close()
End Using
End Sub
Merci pour ton aide
Emilie
"Jérémy Jeanson" <jeremy.jeanson@free.fr> a écrit dans le message de news:
059318FB-413E-4805-A0CA-57D48E938DE3@microsoft.com...
Bonjour Emilie,
Pourrais tu nous indiquer la méthode que tu utilises pour lire tes
données? Tel quel ça ressemble à une écriture qui tente de se faire alors
que la donnée est verrouillée en lecture... par un DataReader par
exemple.
--
Jérémy JEANSON,
MCP
http://www.jjeanson.fr/
"Emilie" <amc-emilie@wanadoo.fr> a écrit dans le message de groupe de
discussion : 4ae84933$0$913$ba4acef3@news.orange.fr...
Bonjour
Dans une procédure, je veux mettre à jour une table Access :
Ma table contient un champs numérique "Ordre"
et champs string "IDarticle"
Quand un enregistrement est supprimé il me renuméroter le champs "Ordre"
Pour cela je fais une procédure en boucle sur la table pour récuperer
l'IDarticle du premier enregistrement
Dans cette procédure j'en intègre une autre pour extraire
l'enregistrement et faire un Update sur le champs Ordre
Quand je teste cela marche 1 fois sur deux, quand cela beug :
c'est sur la deuxième procédure et j'ai le message : impossible de
mettre à jour, actuellement vérouillée
Voyez-vous pourquoi ?
Merci pour vos réponses
Emilie
Bonjour Jérémy
Voici mon code :
Sub VoirNum()
'connection a la base de données
Using connexion As OleDbConnection = Me.DBConn
'DBConn.Open()
Dim DBCommand As OleDbCommand
'Objet Dataset
Dim DSPageData As New DataSet
'connection a la base de données
DBCommand = New OleDbCommand("Select * From StockTRAV Where
IDrayon=?", connexion)
'objet DataAdapter
Dim myOleDbDataAdapter As New OleDbDataAdapter(DBCommand)
DBCommand.Parameters.AddWithValue("IDrayon",
Session("IDrayon"))
myOleDbDataAdapter.SelectCommand.Parameters("IDrayon").Value =
Session("IDrayon")
myOleDbDataAdapter.Fill(DSPageData, "NbRef")
Session("NbRef") = DSPageData.Tables("NbRef").Rows.Count
Dim VoirNbNum As Integer = Session("NbRef")
Dim counter As Integer = 1
Dim Lid As String = ""
Dim EnPromo As String = ""
Dim EnCC As String = ""
For i = 0 To VoirNbNum - 1
If counter <= VoirNbNum + 1 Then
Session("Num") = counter
Lid = DSPageData.Tables("NbRef").Rows(counter -
1).Item("IDarticle")
Session("RefProd") = Lid
'Dim Larticle >
Dim Avoir As String = Lid
ModifierNum()
End If
counter += 1
Next i
DBConn.Close()
End Using
End Sub
Sub ModifierNum()
Dim LOR As String = Session("Num")
Using connexion As OleDbConnection = Me.DBConn
'DBConn.Open()
'objet DataAdapter
Dim PourVoir As String = Session("RefProd")
Dim DBUpdate As New OleDbCommand
DBUpdate.CommandText = "Update StockTRAV set " _
& "Ordre= @Ordre" _
& " Where IDarticle= ?"
Dim myOleDbDataAdapter As New OleDbDataAdapter(DBUpdate)
DBUpdate.Parameters.AddWithValue("Ordre", Session("Num"))
DBUpdate.Parameters.AddWithValue("IDarticle",
Session("RefProd"))
DBUpdate.Connection = DBConn
DBUpdate.Connection.Open()
DBUpdate.ExecuteNonQuery()
DBConn.Close()
End Using
End Sub
Merci pour ton aide
Emilie
"Jérémy Jeanson" a écrit dans le message de news:Bonjour Emilie,
Pourrais tu nous indiquer la méthode que tu utilises pour lire tes
données? Tel quel ça ressemble à une écriture qui tente de se faire alors
que la donnée est verrouillée en lecture... par un DataReader par
exemple.
--
Jérémy JEANSON,
MCP
http://www.jjeanson.fr/
"Emilie" a écrit dans le message de groupe de
discussion : 4ae84933$0$913$Bonjour
Dans une procédure, je veux mettre à jour une table Access :
Ma table contient un champs numérique "Ordre"
et champs string "IDarticle"
Quand un enregistrement est supprimé il me renuméroter le champs "Ordre"
Pour cela je fais une procédure en boucle sur la table pour récuperer
l'IDarticle du premier enregistrement
Dans cette procédure j'en intègre une autre pour extraire
l'enregistrement et faire un Update sur le champs Ordre
Quand je teste cela marche 1 fois sur deux, quand cela beug :
c'est sur la deuxième procédure et j'ai le message : impossible de
mettre à jour, actuellement vérouillée
Voyez-vous pourquoi ?
Merci pour vos réponses
Emilie
Bonjour Jérémy
Voici mon code :
Sub VoirNum()
'connection a la base de données
Using connexion As OleDbConnection = Me.DBConn
'DBConn.Open()
Dim DBCommand As OleDbCommand
'Objet Dataset
Dim DSPageData As New DataSet
'connection a la base de données
DBCommand = New OleDbCommand("Select * From StockTRAV Where
IDrayon=?", connexion)
'objet DataAdapter
Dim myOleDbDataAdapter As New OleDbDataAdapter(DBCommand)
DBCommand.Parameters.AddWithValue("IDrayon",
Session("IDrayon"))
myOleDbDataAdapter.SelectCommand.Parameters("IDrayon").Value =
Session("IDrayon")
myOleDbDataAdapter.Fill(DSPageData, "NbRef")
Session("NbRef") = DSPageData.Tables("NbRef").Rows.Count
Dim VoirNbNum As Integer = Session("NbRef")
Dim counter As Integer = 1
Dim Lid As String = ""
Dim EnPromo As String = ""
Dim EnCC As String = ""
For i = 0 To VoirNbNum - 1
If counter <= VoirNbNum + 1 Then
Session("Num") = counter
Lid = DSPageData.Tables("NbRef").Rows(counter -
1).Item("IDarticle")
Session("RefProd") = Lid
'Dim Larticle >
Dim Avoir As String = Lid
ModifierNum()
End If
counter += 1
Next i
DBConn.Close()
End Using
End Sub
Sub ModifierNum()
Dim LOR As String = Session("Num")
Using connexion As OleDbConnection = Me.DBConn
'DBConn.Open()
'objet DataAdapter
Dim PourVoir As String = Session("RefProd")
Dim DBUpdate As New OleDbCommand
DBUpdate.CommandText = "Update StockTRAV set " _
& "Ordre= @Ordre" _
& " Where IDarticle= ?"
Dim myOleDbDataAdapter As New OleDbDataAdapter(DBUpdate)
DBUpdate.Parameters.AddWithValue("Ordre", Session("Num"))
DBUpdate.Parameters.AddWithValue("IDarticle",
Session("RefProd"))
DBUpdate.Connection = DBConn
DBUpdate.Connection.Open()
DBUpdate.ExecuteNonQuery()
DBConn.Close()
End Using
End Sub
Merci pour ton aide
Emilie
"Jérémy Jeanson" a écrit dans le message de news:Bonjour Emilie,
Pourrais tu nous indiquer la méthode que tu utilises pour lire tes
données? Tel quel ça ressemble à une écriture qui tente de se faire alors
que la donnée est verrouillée en lecture... par un DataReader par
exemple.
--
Jérémy JEANSON,
MCP
http://www.jjeanson.fr/
"Emilie" a écrit dans le message de groupe de
discussion : 4ae84933$0$913$Bonjour
Dans une procédure, je veux mettre à jour une table Access :
Ma table contient un champs numérique "Ordre"
et champs string "IDarticle"
Quand un enregistrement est supprimé il me renuméroter le champs "Ordre"
Pour cela je fais une procédure en boucle sur la table pour récuperer
l'IDarticle du premier enregistrement
Dans cette procédure j'en intègre une autre pour extraire
l'enregistrement et faire un Update sur le champs Ordre
Quand je teste cela marche 1 fois sur deux, quand cela beug :
c'est sur la deuxième procédure et j'ai le message : impossible de
mettre à jour, actuellement vérouillée
Voyez-vous pourquoi ?
Merci pour vos réponses
Emilie
Bonjour Jérémy
Voici mon code :
Sub VoirNum()
'connection a la base de données
Using connexion As OleDbConnection = Me.DBConn
'DBConn.Open()
Dim DBCommand As OleDbCommand
'Objet Dataset
Dim DSPageData As New DataSet
'connection a la base de données
DBCommand = New OleDbCommand("Select * From StockTRAV Where
IDrayon=?", connexion)
'objet DataAdapter
Dim myOleDbDataAdapter As New OleDbDataAdapter(DBCommand)
DBCommand.Parameters.AddWithValue("IDrayon",
Session("IDrayon"))
myOleDbDataAdapter.SelectCommand.Parameters("IDrayon").Value =
Session("IDrayon")
myOleDbDataAdapter.Fill(DSPageData, "NbRef")
Session("NbRef") = DSPageData.Tables("NbRef").Rows.Count
Dim VoirNbNum As Integer = Session("NbRef")
Dim counter As Integer = 1
Dim Lid As String = ""
Dim EnPromo As String = ""
Dim EnCC As String = ""
For i = 0 To VoirNbNum - 1
If counter <= VoirNbNum + 1 Then
Session("Num") = counter
Lid = DSPageData.Tables("NbRef").Rows(counter -
1).Item("IDarticle")
Session("RefProd") = Lid
'Dim Larticle >
Dim Avoir As String = Lid
ModifierNum()
End If
counter += 1
Next i
DBConn.Close()
End Using
End Sub
Sub ModifierNum()
Dim LOR As String = Session("Num")
Using connexion As OleDbConnection = Me.DBConn
'DBConn.Open()
'objet DataAdapter
Dim PourVoir As String = Session("RefProd")
Dim DBUpdate As New OleDbCommand
DBUpdate.CommandText = "Update StockTRAV set " _
& "Ordre= @Ordre" _
& " Where IDarticle= ?"
Dim myOleDbDataAdapter As New OleDbDataAdapter(DBUpdate)
DBUpdate.Parameters.AddWithValue("Ordre", Session("Num"))
DBUpdate.Parameters.AddWithValue("IDarticle",
Session("RefProd"))
DBUpdate.Connection = DBConn
DBUpdate.Connection.Open()
DBUpdate.ExecuteNonQuery()
DBConn.Close()
End Using
End Sub
Merci pour ton aide
Emilie
"Jérémy Jeanson" <jeremy.jeanson@free.fr> a écrit dans le message de news:
059318FB-413E-4805-A0CA-57D48E938DE3@microsoft.com...
Bonjour Emilie,
Pourrais tu nous indiquer la méthode que tu utilises pour lire tes
données? Tel quel ça ressemble à une écriture qui tente de se faire alors
que la donnée est verrouillée en lecture... par un DataReader par
exemple.
--
Jérémy JEANSON,
MCP
http://www.jjeanson.fr/
"Emilie" <amc-emilie@wanadoo.fr> a écrit dans le message de groupe de
discussion : 4ae84933$0$913$ba4acef3@news.orange.fr...
Bonjour
Dans une procédure, je veux mettre à jour une table Access :
Ma table contient un champs numérique "Ordre"
et champs string "IDarticle"
Quand un enregistrement est supprimé il me renuméroter le champs "Ordre"
Pour cela je fais une procédure en boucle sur la table pour récuperer
l'IDarticle du premier enregistrement
Dans cette procédure j'en intègre une autre pour extraire
l'enregistrement et faire un Update sur le champs Ordre
Quand je teste cela marche 1 fois sur deux, quand cela beug :
c'est sur la deuxième procédure et j'ai le message : impossible de
mettre à jour, actuellement vérouillée
Voyez-vous pourquoi ?
Merci pour vos réponses
Emilie
Bonjour Jérémy
Voici mon code :
Sub VoirNum()
'connection a la base de données
Using connexion As OleDbConnection = Me.DBConn
'DBConn.Open()
Dim DBCommand As OleDbCommand
'Objet Dataset
Dim DSPageData As New DataSet
'connection a la base de données
DBCommand = New OleDbCommand("Select * From StockTRAV Where
IDrayon=?", connexion)
'objet DataAdapter
Dim myOleDbDataAdapter As New OleDbDataAdapter(DBCommand)
DBCommand.Parameters.AddWithValue("IDrayon",
Session("IDrayon"))
myOleDbDataAdapter.SelectCommand.Parameters("IDrayon").Value =
Session("IDrayon")
myOleDbDataAdapter.Fill(DSPageData, "NbRef")
Session("NbRef") = DSPageData.Tables("NbRef").Rows.Count
Dim VoirNbNum As Integer = Session("NbRef")
Dim counter As Integer = 1
Dim Lid As String = ""
Dim EnPromo As String = ""
Dim EnCC As String = ""
For i = 0 To VoirNbNum - 1
If counter <= VoirNbNum + 1 Then
Session("Num") = counter
Lid = DSPageData.Tables("NbRef").Rows(counter -
1).Item("IDarticle")
Session("RefProd") = Lid
'Dim Larticle >
Dim Avoir As String = Lid
ModifierNum()
End If
counter += 1
Next i
DBConn.Close()
End Using
End Sub
Sub ModifierNum()
Dim LOR As String = Session("Num")
Using connexion As OleDbConnection = Me.DBConn
'DBConn.Open()
'objet DataAdapter
Dim PourVoir As String = Session("RefProd")
Dim DBUpdate As New OleDbCommand
DBUpdate.CommandText = "Update StockTRAV set " _
& "Ordre= @Ordre" _
& " Where IDarticle= ?"
Dim myOleDbDataAdapter As New OleDbDataAdapter(DBUpdate)
DBUpdate.Parameters.AddWithValue("Ordre", Session("Num"))
DBUpdate.Parameters.AddWithValue("IDarticle",
Session("RefProd"))
DBUpdate.Connection = DBConn
DBUpdate.Connection.Open()
DBUpdate.ExecuteNonQuery()
DBConn.Close()
End Using
End Sub
Merci pour ton aide
Emilie
"Jérémy Jeanson" a écrit dans le message de news:Bonjour Emilie,
Pourrais tu nous indiquer la méthode que tu utilises pour lire tes
données? Tel quel ça ressemble à une écriture qui tente de se faire alors
que la donnée est verrouillée en lecture... par un DataReader par
exemple.
--
Jérémy JEANSON,
MCP
http://www.jjeanson.fr/
"Emilie" a écrit dans le message de groupe de
discussion : 4ae84933$0$913$Bonjour
Dans une procédure, je veux mettre à jour une table Access :
Ma table contient un champs numérique "Ordre"
et champs string "IDarticle"
Quand un enregistrement est supprimé il me renuméroter le champs "Ordre"
Pour cela je fais une procédure en boucle sur la table pour récuperer
l'IDarticle du premier enregistrement
Dans cette procédure j'en intègre une autre pour extraire
l'enregistrement et faire un Update sur le champs Ordre
Quand je teste cela marche 1 fois sur deux, quand cela beug :
c'est sur la deuxième procédure et j'ai le message : impossible de
mettre à jour, actuellement vérouillée
Voyez-vous pourquoi ?
Merci pour vos réponses
Emilie
Sans certitude mais je ferais aussi un "dispose" ou un "close" de tous les
objets (à part donc la connexion qui a déjà son "using") qui disposent
d'une méthode close ou dispose (par exemple OleDbCommand.dispose)...
--
Patrice
"Emilie" a écrit dans le message de
news:4ae96918$0$996$Bonjour Jérémy
Voici mon code :
Sub VoirNum()
'connection a la base de données
Using connexion As OleDbConnection = Me.DBConn
'DBConn.Open()
Dim DBCommand As OleDbCommand
'Objet Dataset
Dim DSPageData As New DataSet
'connection a la base de données
DBCommand = New OleDbCommand("Select * From StockTRAV Where
IDrayon=?", connexion)
'objet DataAdapter
Dim myOleDbDataAdapter As New OleDbDataAdapter(DBCommand)
DBCommand.Parameters.AddWithValue("IDrayon",
Session("IDrayon"))
myOleDbDataAdapter.SelectCommand.Parameters("IDrayon").Value =
Session("IDrayon")
myOleDbDataAdapter.Fill(DSPageData, "NbRef")
Session("NbRef") = DSPageData.Tables("NbRef").Rows.Count
Dim VoirNbNum As Integer = Session("NbRef")
Dim counter As Integer = 1
Dim Lid As String = ""
Dim EnPromo As String = ""
Dim EnCC As String = ""
For i = 0 To VoirNbNum - 1
If counter <= VoirNbNum + 1 Then
Session("Num") = counter
Lid = DSPageData.Tables("NbRef").Rows(counter -
1).Item("IDarticle")
Session("RefProd") = Lid
'Dim Larticle >>
Dim Avoir As String = Lid
ModifierNum()
End If
counter += 1
Next i
DBConn.Close()
End Using
End Sub
Sub ModifierNum()
Dim LOR As String = Session("Num")
Using connexion As OleDbConnection = Me.DBConn
'DBConn.Open()
'objet DataAdapter
Dim PourVoir As String = Session("RefProd")
Dim DBUpdate As New OleDbCommand
DBUpdate.CommandText = "Update StockTRAV set " _
& "Ordre= @Ordre" _
& " Where IDarticle= ?"
Dim myOleDbDataAdapter As New OleDbDataAdapter(DBUpdate)
DBUpdate.Parameters.AddWithValue("Ordre", Session("Num"))
DBUpdate.Parameters.AddWithValue("IDarticle",
Session("RefProd"))
DBUpdate.Connection = DBConn
DBUpdate.Connection.Open()
DBUpdate.ExecuteNonQuery()
DBConn.Close()
End Using
End Sub
Merci pour ton aide
Emilie
"Jérémy Jeanson" a écrit dans le message de
news:Bonjour Emilie,
Pourrais tu nous indiquer la méthode que tu utilises pour lire tes
données? Tel quel ça ressemble à une écriture qui tente de se faire
alors que la donnée est verrouillée en lecture... par un DataReader par
exemple.
--
Jérémy JEANSON,
MCP
http://www.jjeanson.fr/
"Emilie" a écrit dans le message de groupe de
discussion : 4ae84933$0$913$Bonjour
Dans une procédure, je veux mettre à jour une table Access :
Ma table contient un champs numérique "Ordre"
et champs string "IDarticle"
Quand un enregistrement est supprimé il me renuméroter le champs
"Ordre"
Pour cela je fais une procédure en boucle sur la table pour récuperer
l'IDarticle du premier enregistrement
Dans cette procédure j'en intègre une autre pour extraire
l'enregistrement et faire un Update sur le champs Ordre
Quand je teste cela marche 1 fois sur deux, quand cela beug :
c'est sur la deuxième procédure et j'ai le message : impossible de
mettre à jour, actuellement vérouillée
Voyez-vous pourquoi ?
Merci pour vos réponses
Emilie
Sans certitude mais je ferais aussi un "dispose" ou un "close" de tous les
objets (à part donc la connexion qui a déjà son "using") qui disposent
d'une méthode close ou dispose (par exemple OleDbCommand.dispose)...
--
Patrice
"Emilie" <amc-emilie@wanadoo.fr> a écrit dans le message de
news:4ae96918$0$996$ba4acef3@news.orange.fr...
Bonjour Jérémy
Voici mon code :
Sub VoirNum()
'connection a la base de données
Using connexion As OleDbConnection = Me.DBConn
'DBConn.Open()
Dim DBCommand As OleDbCommand
'Objet Dataset
Dim DSPageData As New DataSet
'connection a la base de données
DBCommand = New OleDbCommand("Select * From StockTRAV Where
IDrayon=?", connexion)
'objet DataAdapter
Dim myOleDbDataAdapter As New OleDbDataAdapter(DBCommand)
DBCommand.Parameters.AddWithValue("IDrayon",
Session("IDrayon"))
myOleDbDataAdapter.SelectCommand.Parameters("IDrayon").Value =
Session("IDrayon")
myOleDbDataAdapter.Fill(DSPageData, "NbRef")
Session("NbRef") = DSPageData.Tables("NbRef").Rows.Count
Dim VoirNbNum As Integer = Session("NbRef")
Dim counter As Integer = 1
Dim Lid As String = ""
Dim EnPromo As String = ""
Dim EnCC As String = ""
For i = 0 To VoirNbNum - 1
If counter <= VoirNbNum + 1 Then
Session("Num") = counter
Lid = DSPageData.Tables("NbRef").Rows(counter -
1).Item("IDarticle")
Session("RefProd") = Lid
'Dim Larticle >>
Dim Avoir As String = Lid
ModifierNum()
End If
counter += 1
Next i
DBConn.Close()
End Using
End Sub
Sub ModifierNum()
Dim LOR As String = Session("Num")
Using connexion As OleDbConnection = Me.DBConn
'DBConn.Open()
'objet DataAdapter
Dim PourVoir As String = Session("RefProd")
Dim DBUpdate As New OleDbCommand
DBUpdate.CommandText = "Update StockTRAV set " _
& "Ordre= @Ordre" _
& " Where IDarticle= ?"
Dim myOleDbDataAdapter As New OleDbDataAdapter(DBUpdate)
DBUpdate.Parameters.AddWithValue("Ordre", Session("Num"))
DBUpdate.Parameters.AddWithValue("IDarticle",
Session("RefProd"))
DBUpdate.Connection = DBConn
DBUpdate.Connection.Open()
DBUpdate.ExecuteNonQuery()
DBConn.Close()
End Using
End Sub
Merci pour ton aide
Emilie
"Jérémy Jeanson" <jeremy.jeanson@free.fr> a écrit dans le message de
news: 059318FB-413E-4805-A0CA-57D48E938DE3@microsoft.com...
Bonjour Emilie,
Pourrais tu nous indiquer la méthode que tu utilises pour lire tes
données? Tel quel ça ressemble à une écriture qui tente de se faire
alors que la donnée est verrouillée en lecture... par un DataReader par
exemple.
--
Jérémy JEANSON,
MCP
http://www.jjeanson.fr/
"Emilie" <amc-emilie@wanadoo.fr> a écrit dans le message de groupe de
discussion : 4ae84933$0$913$ba4acef3@news.orange.fr...
Bonjour
Dans une procédure, je veux mettre à jour une table Access :
Ma table contient un champs numérique "Ordre"
et champs string "IDarticle"
Quand un enregistrement est supprimé il me renuméroter le champs
"Ordre"
Pour cela je fais une procédure en boucle sur la table pour récuperer
l'IDarticle du premier enregistrement
Dans cette procédure j'en intègre une autre pour extraire
l'enregistrement et faire un Update sur le champs Ordre
Quand je teste cela marche 1 fois sur deux, quand cela beug :
c'est sur la deuxième procédure et j'ai le message : impossible de
mettre à jour, actuellement vérouillée
Voyez-vous pourquoi ?
Merci pour vos réponses
Emilie
Sans certitude mais je ferais aussi un "dispose" ou un "close" de tous les
objets (à part donc la connexion qui a déjà son "using") qui disposent
d'une méthode close ou dispose (par exemple OleDbCommand.dispose)...
--
Patrice
"Emilie" a écrit dans le message de
news:4ae96918$0$996$Bonjour Jérémy
Voici mon code :
Sub VoirNum()
'connection a la base de données
Using connexion As OleDbConnection = Me.DBConn
'DBConn.Open()
Dim DBCommand As OleDbCommand
'Objet Dataset
Dim DSPageData As New DataSet
'connection a la base de données
DBCommand = New OleDbCommand("Select * From StockTRAV Where
IDrayon=?", connexion)
'objet DataAdapter
Dim myOleDbDataAdapter As New OleDbDataAdapter(DBCommand)
DBCommand.Parameters.AddWithValue("IDrayon",
Session("IDrayon"))
myOleDbDataAdapter.SelectCommand.Parameters("IDrayon").Value =
Session("IDrayon")
myOleDbDataAdapter.Fill(DSPageData, "NbRef")
Session("NbRef") = DSPageData.Tables("NbRef").Rows.Count
Dim VoirNbNum As Integer = Session("NbRef")
Dim counter As Integer = 1
Dim Lid As String = ""
Dim EnPromo As String = ""
Dim EnCC As String = ""
For i = 0 To VoirNbNum - 1
If counter <= VoirNbNum + 1 Then
Session("Num") = counter
Lid = DSPageData.Tables("NbRef").Rows(counter -
1).Item("IDarticle")
Session("RefProd") = Lid
'Dim Larticle >>
Dim Avoir As String = Lid
ModifierNum()
End If
counter += 1
Next i
DBConn.Close()
End Using
End Sub
Sub ModifierNum()
Dim LOR As String = Session("Num")
Using connexion As OleDbConnection = Me.DBConn
'DBConn.Open()
'objet DataAdapter
Dim PourVoir As String = Session("RefProd")
Dim DBUpdate As New OleDbCommand
DBUpdate.CommandText = "Update StockTRAV set " _
& "Ordre= @Ordre" _
& " Where IDarticle= ?"
Dim myOleDbDataAdapter As New OleDbDataAdapter(DBUpdate)
DBUpdate.Parameters.AddWithValue("Ordre", Session("Num"))
DBUpdate.Parameters.AddWithValue("IDarticle",
Session("RefProd"))
DBUpdate.Connection = DBConn
DBUpdate.Connection.Open()
DBUpdate.ExecuteNonQuery()
DBConn.Close()
End Using
End Sub
Merci pour ton aide
Emilie
"Jérémy Jeanson" a écrit dans le message de
news:Bonjour Emilie,
Pourrais tu nous indiquer la méthode que tu utilises pour lire tes
données? Tel quel ça ressemble à une écriture qui tente de se faire
alors que la donnée est verrouillée en lecture... par un DataReader par
exemple.
--
Jérémy JEANSON,
MCP
http://www.jjeanson.fr/
"Emilie" a écrit dans le message de groupe de
discussion : 4ae84933$0$913$Bonjour
Dans une procédure, je veux mettre à jour une table Access :
Ma table contient un champs numérique "Ordre"
et champs string "IDarticle"
Quand un enregistrement est supprimé il me renuméroter le champs
"Ordre"
Pour cela je fais une procédure en boucle sur la table pour récuperer
l'IDarticle du premier enregistrement
Dans cette procédure j'en intègre une autre pour extraire
l'enregistrement et faire un Update sur le champs Ordre
Quand je teste cela marche 1 fois sur deux, quand cela beug :
c'est sur la deuxième procédure et j'ai le message : impossible de
mettre à jour, actuellement vérouillée
Voyez-vous pourquoi ?
Merci pour vos réponses
Emilie