les colonnes ont le meme nom, type identique, aucune erreur renvoyée mais pas de mise a jour de faite... comprend pas.... dav
Patrick Philippot a écrit :
dav wrote:
sql = "INSERT INTO table1 SELECT * FROM table2" mabase.Execute (sql)
MsgBox mabase.RecordsAffected
...et recordsAffected me renvoie 0...d'ailleurs quand je vais apres cette opération dans ma table1 il n'y a pas les enregistrements de table2.
Bonjour,
Les colonnes de table1 sont bien en nombre égal aux colonnes de table2 et les types de chaque colonne sont bien compatibles?
Quelle erreur est retournée?
Jean-Marc
Hello,
Peux tu faire tourner le programme suivant (en l'adaptant si nécessaire), et poster une copie de la sortie dans la fenêtre Debug:
Dim db As Database Dim sql As String Dim tbd1 As TableDef Dim tbd2 As TableDef Dim i As Integer
Set db = OpenDatabase("c:db1.mdb") ' remplacer si nécessaire
Set tbd1 = db.TableDefs("table1") Set tbd2 = db.TableDefs("table2")
For i = 0 To tbd1.Fields.Count - 1 Debug.Print "t1_n:" & tbd1.Fields(i).Name & " t1_s:" & tbd1.Fields(i).Type Next i
For i = 0 To tbd2.Fields.Count - 1 Debug.Print "t2_n:" & tbd2.Fields(i).Name & " t2_s:" & tbd2.Fields(i).Type Next i
sql = "DELETE FROM TABLE1" db.Execute (sql) Debug.Print "DELETE records affected : " & db.RecordsAffected sql = "INSERT INTO TABLE1 SELECT * FROM TABLE2" db.Execute (sql) Debug.Print "INSERT records affected : " & db.RecordsAffected db.Close Set db = Nothing
Il n'y a aucune raison pour que ça ne marche pas, je pense que le petit programme précédent nous dira pourquoi ça veut pas. Avant de commencer, bien vérifier que: - la DB n'est pas ouverte en mode exclusif par un autre programme - la table Table2 contient des données .... - tu n'as pas fait de trucs tordus avec la sécurité de la base qui interdiraient les update
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't."
"dav" a écrit dans le message de news:41bb3bf5$0$3436$
les colonnes ont le meme nom, type identique, aucune erreur renvoyée mais pas de mise a jour de faite... comprend pas.... dav
Patrick Philippot a écrit :
> dav wrote: > >>sql = "INSERT INTO table1 SELECT * FROM table2" >> mabase.Execute (sql) >> >>MsgBox mabase.RecordsAffected >> >>...et recordsAffected me renvoie 0...d'ailleurs quand je vais apres >>cette opération dans ma table1 il n'y a pas les enregistrements de >>table2. > > > Bonjour, > > Les colonnes de table1 sont bien en nombre égal aux colonnes de table2 > et les types de chaque colonne sont bien compatibles? > > Quelle erreur est retournée? >
Hello,
Peux tu faire tourner le programme suivant (en l'adaptant si nécessaire), et
poster une copie de la sortie dans la fenêtre Debug:
Dim db As Database
Dim sql As String
Dim tbd1 As TableDef
Dim tbd2 As TableDef
Dim i As Integer
Set db = OpenDatabase("c:db1.mdb") ' remplacer si nécessaire
Set tbd1 = db.TableDefs("table1")
Set tbd2 = db.TableDefs("table2")
For i = 0 To tbd1.Fields.Count - 1
Debug.Print "t1_n:" & tbd1.Fields(i).Name & " t1_s:" &
tbd1.Fields(i).Type
Next i
For i = 0 To tbd2.Fields.Count - 1
Debug.Print "t2_n:" & tbd2.Fields(i).Name & " t2_s:" &
tbd2.Fields(i).Type
Next i
sql = "DELETE FROM TABLE1"
db.Execute (sql)
Debug.Print "DELETE records affected : " & db.RecordsAffected
sql = "INSERT INTO TABLE1 SELECT * FROM TABLE2"
db.Execute (sql)
Debug.Print "INSERT records affected : " & db.RecordsAffected
db.Close
Set db = Nothing
Il n'y a aucune raison pour que ça ne marche pas, je pense que le petit
programme précédent nous dira pourquoi ça veut pas. Avant de commencer, bien
vérifier que:
- la DB n'est pas ouverte en mode exclusif par un autre programme
- la table Table2 contient des données ....
- tu n'as pas fait de trucs tordus avec la sécurité de la base qui
interdiraient les update
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
"dav" <dav49400@wanadoo.fr> a écrit dans le message de
news:41bb3bf5$0$3436$8fcfb975@news.wanadoo.fr...
les colonnes ont le meme nom, type identique, aucune erreur renvoyée
mais pas de mise a jour de faite...
comprend pas....
dav
Patrick Philippot a écrit :
> dav wrote:
>
>>sql = "INSERT INTO table1 SELECT * FROM table2"
>> mabase.Execute (sql)
>>
>>MsgBox mabase.RecordsAffected
>>
>>...et recordsAffected me renvoie 0...d'ailleurs quand je vais apres
>>cette opération dans ma table1 il n'y a pas les enregistrements de
>>table2.
>
>
> Bonjour,
>
> Les colonnes de table1 sont bien en nombre égal aux colonnes de table2
> et les types de chaque colonne sont bien compatibles?
>
> Quelle erreur est retournée?
>
Peux tu faire tourner le programme suivant (en l'adaptant si nécessaire), et poster une copie de la sortie dans la fenêtre Debug:
Dim db As Database Dim sql As String Dim tbd1 As TableDef Dim tbd2 As TableDef Dim i As Integer
Set db = OpenDatabase("c:db1.mdb") ' remplacer si nécessaire
Set tbd1 = db.TableDefs("table1") Set tbd2 = db.TableDefs("table2")
For i = 0 To tbd1.Fields.Count - 1 Debug.Print "t1_n:" & tbd1.Fields(i).Name & " t1_s:" & tbd1.Fields(i).Type Next i
For i = 0 To tbd2.Fields.Count - 1 Debug.Print "t2_n:" & tbd2.Fields(i).Name & " t2_s:" & tbd2.Fields(i).Type Next i
sql = "DELETE FROM TABLE1" db.Execute (sql) Debug.Print "DELETE records affected : " & db.RecordsAffected sql = "INSERT INTO TABLE1 SELECT * FROM TABLE2" db.Execute (sql) Debug.Print "INSERT records affected : " & db.RecordsAffected db.Close Set db = Nothing
Il n'y a aucune raison pour que ça ne marche pas, je pense que le petit programme précédent nous dira pourquoi ça veut pas. Avant de commencer, bien vérifier que: - la DB n'est pas ouverte en mode exclusif par un autre programme - la table Table2 contient des données .... - tu n'as pas fait de trucs tordus avec la sécurité de la base qui interdiraient les update
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't."
"dav" a écrit dans le message de news:41bb3bf5$0$3436$
les colonnes ont le meme nom, type identique, aucune erreur renvoyée mais pas de mise a jour de faite... comprend pas.... dav
Patrick Philippot a écrit :
> dav wrote: > >>sql = "INSERT INTO table1 SELECT * FROM table2" >> mabase.Execute (sql) >> >>MsgBox mabase.RecordsAffected >> >>...et recordsAffected me renvoie 0...d'ailleurs quand je vais apres >>cette opération dans ma table1 il n'y a pas les enregistrements de >>table2. > > > Bonjour, > > Les colonnes de table1 sont bien en nombre égal aux colonnes de table2 > et les types de chaque colonne sont bien compatibles? > > Quelle erreur est retournée? >