Je cherche une solution pour cr=E9er une copie temporaire, =E0=20
l'identique, d'une table ACCESS.
Dans mon application, les modifications apport=E9es au=20
contenu le la table temporaire pouvant =EAtre annul=E9es=20
(effacement de la table temporaire)ou valid=E9es=20
(remplacement de l'original par la table temporaire).
Merci d'avance =E0 celui ou celle qui me mettra sur la voie.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Guy DETIENNE
Salut ;O)
Tu peux créer une nouvelle table à partir d'une autre via une requête SQL de type action:
SELECT MaTableSource.* INTO MaTableDestination FROM MaTableSource;
La table MaTableDestination sera donc à l'identique que la table MaTableSource.
Guy
"Gérard" a écrit dans le message de news:23f9401c45f76$e7531d20$ Bonjour,
Je cherche une solution pour créer une copie temporaire, à l'identique, d'une table ACCESS.
Dans mon application, les modifications apportées au contenu le la table temporaire pouvant être annulées (effacement de la table temporaire)ou validées (remplacement de l'original par la table temporaire).
Merci d'avance à celui ou celle qui me mettra sur la voie.
Cordialement
Gérard
Salut ;O)
Tu peux créer une nouvelle table à partir d'une autre via une requête SQL de
type action:
SELECT MaTableSource.* INTO MaTableDestination
FROM MaTableSource;
La table MaTableDestination sera donc à l'identique que la table
MaTableSource.
Guy
"Gérard" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:23f9401c45f76$e7531d20$a601280a@phx.gbl...
Bonjour,
Je cherche une solution pour créer une copie temporaire, à
l'identique, d'une table ACCESS.
Dans mon application, les modifications apportées au
contenu le la table temporaire pouvant être annulées
(effacement de la table temporaire)ou validées
(remplacement de l'original par la table temporaire).
Merci d'avance à celui ou celle qui me mettra sur la voie.
Tu peux créer une nouvelle table à partir d'une autre via une requête SQL de type action:
SELECT MaTableSource.* INTO MaTableDestination FROM MaTableSource;
La table MaTableDestination sera donc à l'identique que la table MaTableSource.
Guy
"Gérard" a écrit dans le message de news:23f9401c45f76$e7531d20$ Bonjour,
Je cherche une solution pour créer une copie temporaire, à l'identique, d'une table ACCESS.
Dans mon application, les modifications apportées au contenu le la table temporaire pouvant être annulées (effacement de la table temporaire)ou validées (remplacement de l'original par la table temporaire).
Merci d'avance à celui ou celle qui me mettra sur la voie.
Cordialement
Gérard
Eric
Bonjour Guy,
En terme de données, oui ca sera la même mais pas en terme de structure car on ne récupèrera pas les contraintes (PK, Unique, Not Null, ...)
Sous Access,(en VBA), pour obtenir la copie conforme, la commande serait : DoCmd.CopyObject , "TableCopiée", acTable, "LaTable"
mais je ne sais pas comment la lancer depuis un programme VB6 peut-etre en créant un objet Access ?
Je passe la main aux spécialistes
A+ Eric
"Guy DETIENNE" écrivait
Salut ;O)
Tu peux créer une nouvelle table à partir d'une autre via une requête SQL de type action:
SELECT MaTableSource.* INTO MaTableDestination FROM MaTableSource;
La table MaTableDestination sera donc à l'identique que la table MaTableSource.
Guy
"Gérard" Bonjour,
Je cherche une solution pour créer une copie temporaire, à l'identique, d'une table ACCESS.
Dans mon application, les modifications apportées au contenu le la table temporaire pouvant être annulées (effacement de la table temporaire)ou validées (remplacement de l'original par la table temporaire).
Merci d'avance à celui ou celle qui me mettra sur la voie.
Cordialement
Gérard
Bonjour Guy,
En terme de données, oui ca sera la même mais pas en terme de structure
car on ne récupèrera pas les contraintes (PK, Unique, Not Null, ...)
Sous Access,(en VBA), pour obtenir la copie conforme,
la commande serait :
DoCmd.CopyObject , "TableCopiée", acTable, "LaTable"
mais je ne sais pas comment la lancer depuis un programme VB6
peut-etre en créant un objet Access ?
Je passe la main aux spécialistes
A+
Eric
"Guy DETIENNE" écrivait
Salut ;O)
Tu peux créer une nouvelle table à partir d'une autre via une requête
SQL de type action:
SELECT MaTableSource.* INTO MaTableDestination
FROM MaTableSource;
La table MaTableDestination sera donc à l'identique que la table
MaTableSource.
Guy
"Gérard"
Bonjour,
Je cherche une solution pour créer une copie temporaire, à
l'identique, d'une table ACCESS.
Dans mon application, les modifications apportées au
contenu le la table temporaire pouvant être annulées
(effacement de la table temporaire)ou validées
(remplacement de l'original par la table temporaire).
Merci d'avance à celui ou celle qui me mettra sur la voie.
En terme de données, oui ca sera la même mais pas en terme de structure car on ne récupèrera pas les contraintes (PK, Unique, Not Null, ...)
Sous Access,(en VBA), pour obtenir la copie conforme, la commande serait : DoCmd.CopyObject , "TableCopiée", acTable, "LaTable"
mais je ne sais pas comment la lancer depuis un programme VB6 peut-etre en créant un objet Access ?
Je passe la main aux spécialistes
A+ Eric
"Guy DETIENNE" écrivait
Salut ;O)
Tu peux créer une nouvelle table à partir d'une autre via une requête SQL de type action:
SELECT MaTableSource.* INTO MaTableDestination FROM MaTableSource;
La table MaTableDestination sera donc à l'identique que la table MaTableSource.
Guy
"Gérard" Bonjour,
Je cherche une solution pour créer une copie temporaire, à l'identique, d'une table ACCESS.
Dans mon application, les modifications apportées au contenu le la table temporaire pouvant être annulées (effacement de la table temporaire)ou validées (remplacement de l'original par la table temporaire).
Merci d'avance à celui ou celle qui me mettra sur la voie.
Cordialement
Gérard
Alfred
"Gérard" a écrit dans le message de news:23f9401c45f76$e7531d20$ Bonjour,
Je cherche une solution pour créer une copie temporaire, à l'identique, d'une table ACCESS.
Dans mon application, les modifications apportées au contenu le la table temporaire pouvant être annulées (effacement de la table temporaire)ou validées (remplacement de l'original par la table temporaire).
Merci d'avance à celui ou celle qui me mettra sur la voie.
Cordialement
Gérard
Bonjour,
pour copier la base: soit dbname le nom original et dbnamec le nom de la base copiée: CopyFile dbName, dbnamec
'fonction copyFile à simplifier si nécessaire: il y a également affichage d'une progress bar
Function CopyFile(Src As String, Dst As String) As Single 'The file is calculated and then copied to the destination path 'while advancing the progress bar at the same time. Dim Response As Integer Static Buf As String Dim BTest, FSize As Long 'declare the needed variables Dim Chunk As Integer Dim F1, F2 As Byte
Const BUFSIZE = 1024 'set the buffer size
If Len(Dir(Dst)) Then 'check to see if destination file already exists Response = MsgBox(Dst + Chr(10) + Chr(10) + "Le Fichier existe déjà ." _ & vbCrLf & "Voulez-vous le remplacer?", vbYesNo + vbQuestion, "") 'prompt the user with a message box If Response = vbNo Then 'if the "No" button was clicked Exit Function 'exit the procedure Else 'otherwise Kill Dst 'delete the already found file, and carryon with the code End If End If
On Error GoTo FileCopyError 'incase of error goto this label F1 = FreeFile 'returns file number available Open Src For Binary As F1 'open the source file F2 = FreeFile 'returns file number available Open Dst For Binary Access Write As F2 'open the destination file
FSize = LOF(F1) BTest = FSize ' - LOF(F2) pBar.Visible = True Do If BTest < BUFSIZE Then Chunk = BTest Else Chunk = BUFSIZE End If
Buf = String(Chunk, " ") 'nettoyage buffer Get F1, , Buf Put F2, , Buf BTest = FSize - LOF(F2) 'ce qu'il reste à copier
'advance the progress bar as the file is copied pBar.value = (100 - Int(100 * BTest / FSize)) Loop Until BTest = 0 Close F1 'closes the source file Close F2 'closes the destination file CopyFile = FSize pBar.value = 0 'returns the progress bar to zero pBar.Visible = False Exit Function 'exit the procedure
FileCopyError: 'file copy error label MsgBox "Erreur de Copie!, Veuillez Recommencer...", _ vbCritical, "M" 'display message box with error Close F1 'closes the source file Close F2 'closes the destination file If Dir(Dst) <> "" Then Kill Dst MsgBox "Erreur M5 " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, ""
End Function
l'objet FSO offre également une méthode CopyFile
Alfred
"Gérard" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:23f9401c45f76$e7531d20$a601280a@phx.gbl...
Bonjour,
Je cherche une solution pour créer une copie temporaire, à
l'identique, d'une table ACCESS.
Dans mon application, les modifications apportées au
contenu le la table temporaire pouvant être annulées
(effacement de la table temporaire)ou validées
(remplacement de l'original par la table temporaire).
Merci d'avance à celui ou celle qui me mettra sur la voie.
Cordialement
Gérard
Bonjour,
pour copier la base:
soit dbname le nom original et dbnamec le nom de la base copiée:
CopyFile dbName, dbnamec
'fonction copyFile à simplifier si nécessaire: il y a également affichage
d'une progress bar
Function CopyFile(Src As String, Dst As String) As Single
'The file is calculated and then copied to the destination path
'while advancing the progress bar at the same time.
Dim Response As Integer
Static Buf As String
Dim BTest, FSize As Long 'declare the needed variables
Dim Chunk As Integer
Dim F1, F2 As Byte
Const BUFSIZE = 1024 'set the buffer size
If Len(Dir(Dst)) Then 'check to see if destination file already exists
Response = MsgBox(Dst + Chr(10) + Chr(10) + "Le Fichier existe déjà
." _
& vbCrLf & "Voulez-vous le remplacer?", vbYesNo + vbQuestion, "")
'prompt the user with a message box
If Response = vbNo Then 'if the "No" button was clicked
Exit Function 'exit the procedure
Else 'otherwise
Kill Dst 'delete the already found file, and carryon with the
code
End If
End If
On Error GoTo FileCopyError 'incase of error goto this label
F1 = FreeFile 'returns file number available
Open Src For Binary As F1 'open the source file
F2 = FreeFile 'returns file number available
Open Dst For Binary Access Write As F2 'open the destination file
FSize = LOF(F1)
BTest = FSize ' - LOF(F2)
pBar.Visible = True
Do
If BTest < BUFSIZE Then
Chunk = BTest
Else
Chunk = BUFSIZE
End If
Buf = String(Chunk, " ") 'nettoyage buffer
Get F1, , Buf
Put F2, , Buf
BTest = FSize - LOF(F2) 'ce qu'il reste à copier
'advance the progress bar as the file is copied
pBar.value = (100 - Int(100 * BTest / FSize))
Loop Until BTest = 0
Close F1 'closes the source file
Close F2 'closes the destination file
CopyFile = FSize
pBar.value = 0 'returns the progress bar to zero
pBar.Visible = False
Exit Function 'exit the procedure
FileCopyError: 'file copy error label
MsgBox "Erreur de Copie!, Veuillez Recommencer...", _
vbCritical, "M" 'display message box with error
Close F1 'closes the source file
Close F2 'closes the destination file
If Dir(Dst) <> "" Then Kill Dst
MsgBox "Erreur M5 " & Err.Number & vbCrLf & Err.Description, vbCritical
+ vbOKOnly, ""
"Gérard" a écrit dans le message de news:23f9401c45f76$e7531d20$ Bonjour,
Je cherche une solution pour créer une copie temporaire, à l'identique, d'une table ACCESS.
Dans mon application, les modifications apportées au contenu le la table temporaire pouvant être annulées (effacement de la table temporaire)ou validées (remplacement de l'original par la table temporaire).
Merci d'avance à celui ou celle qui me mettra sur la voie.
Cordialement
Gérard
Bonjour,
pour copier la base: soit dbname le nom original et dbnamec le nom de la base copiée: CopyFile dbName, dbnamec
'fonction copyFile à simplifier si nécessaire: il y a également affichage d'une progress bar
Function CopyFile(Src As String, Dst As String) As Single 'The file is calculated and then copied to the destination path 'while advancing the progress bar at the same time. Dim Response As Integer Static Buf As String Dim BTest, FSize As Long 'declare the needed variables Dim Chunk As Integer Dim F1, F2 As Byte
Const BUFSIZE = 1024 'set the buffer size
If Len(Dir(Dst)) Then 'check to see if destination file already exists Response = MsgBox(Dst + Chr(10) + Chr(10) + "Le Fichier existe déjà ." _ & vbCrLf & "Voulez-vous le remplacer?", vbYesNo + vbQuestion, "") 'prompt the user with a message box If Response = vbNo Then 'if the "No" button was clicked Exit Function 'exit the procedure Else 'otherwise Kill Dst 'delete the already found file, and carryon with the code End If End If
On Error GoTo FileCopyError 'incase of error goto this label F1 = FreeFile 'returns file number available Open Src For Binary As F1 'open the source file F2 = FreeFile 'returns file number available Open Dst For Binary Access Write As F2 'open the destination file
FSize = LOF(F1) BTest = FSize ' - LOF(F2) pBar.Visible = True Do If BTest < BUFSIZE Then Chunk = BTest Else Chunk = BUFSIZE End If
Buf = String(Chunk, " ") 'nettoyage buffer Get F1, , Buf Put F2, , Buf BTest = FSize - LOF(F2) 'ce qu'il reste à copier
'advance the progress bar as the file is copied pBar.value = (100 - Int(100 * BTest / FSize)) Loop Until BTest = 0 Close F1 'closes the source file Close F2 'closes the destination file CopyFile = FSize pBar.value = 0 'returns the progress bar to zero pBar.Visible = False Exit Function 'exit the procedure
FileCopyError: 'file copy error label MsgBox "Erreur de Copie!, Veuillez Recommencer...", _ vbCritical, "M" 'display message box with error Close F1 'closes the source file Close F2 'closes the destination file If Dir(Dst) <> "" Then Kill Dst MsgBox "Erreur M5 " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, ""