Copie d'une Table

DAVIMIKA Messages postés 118 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 10 janvier 2014 - 1 août 2006 à 17:12
DAVIMIKA Messages postés 118 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 10 janvier 2014 - 3 août 2006 à 16:54
Bonjour,


Comment faire une copie de la "Tbl Cours" et nommer la copie "Tbl Cours N-1"

Merci de votre aide

9 réponses

chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
1 août 2006 à 19:08
Bonjour,
Si c' est en VB6, Voilà une procédure toute faite.

Public Sub ClonerTable(xSource, xDestination, xIndex)


Dim tbl As TableDef
Dim Fld As Field
Dim idx As Index
Dim xdata As Recordset
Dim xnom As String
Dim xtype As Variant
Dim xtaille As Double
Dim j As Integer
Dim k As Integer

 
  'Creer Table destination
   Set tbl = xDB.CreateTableDef(xDestination)


  'creer un recordset
    Set xdata = xDB.OpenRecordset(xSource, dbOpenTable)


  'nombre de champ de la table source
     k = xdata.Fields.Count
       
  'creer autant de champ dans la table destination et
  'leur attribuer les propriétés des champs de la table source
      For j = 1 To k
          xnom = xdata.Fields(j - 1).Name
          xtype = xdata.Fields(j - 1).Type
          xtaille = xdata.Fields(j - 1).Size
          Set Fld = tbl.CreateField(xnom, xtype, xtaille)
          tbl.Fields.Append Fld
          Set Fld = Nothing
      Next j


'Creer la cle primaire
Set idx = tbl.CreateIndex(xIndex)
   
    idx.Fields.Append idx.CreateField(xIndex)
    idx.Primary = True
    tbl.Indexes.Append idx


'ajouter la table destination à la collection des tables
'de la base de donées en cour
   xDB.TableDefs.Append tbl
  
 Set tbl = Nothing
 Set idx = Nothing
 Set xdata = Nothing


End Sub

Ps: si tu vois que certaines variables n' ont pas été utilisées, supprimes les dans la partie déclaration.

Bonne journée.
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
1 août 2006 à 19:14
Pour copier une table dans une autre.

Public Sub CopierTable(xSource, xDestination)
 
 Dim xdata1 As Recordset
 Dim xdata2 As Recordset
 Dim j As Integer
 Dim k As Integer


    Set xdata1 = xDB.OpenRecordset(xSource, dbOpenTable)
    Set xdata2 = xDB.OpenRecordset(xDestination, dbOpenTable)
   
    xdata1.MoveFirst
     k = xdata2.Fields.Count
 
 Do While Not xdata1.EOF
       xdata2.AddNew
            For j = 1 To k
              xdata2.Fields(j - 1).Value = xdata1.Fields(j - 1).Value              
            Next j
       xdata2.Update
      If Not xdata1.EOF Then
       xdata1.MoveNext
      End If
  Loop
Set xdata1 = Nothing
Set xdata2 = Nothing
End Sub
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
1 août 2006 à 19:34
Humm Chaibat, vu la catégorie où il a placé son topic, il en .net 

@++

  Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
1 août 2006 à 21:09
@Mortalino,
Ah bon ! J' ai pas fait attention.
Et c' est possible de l' adapter au .net ?
Je te demande ça parceque j' ai décidé de m' y mettre et j' aurais voulu savoir
si c' est plutôt long de convertir toute une application.D' autant plus que je
n' y connais rien et que je dois  tout redécouvrir.

Merci et félicitation pour ta vigilance.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
1 août 2006 à 21:14
Désolé mais je ne connais pas vraiment le .net mais je pense que cela est faisable.
Regarde peut-être sur Google "Migration de Vb6 à VB.net", tu devrais avoir des infos.

Tu me dis merci pour ma vigilence, pour info, je me suis fais avoir plein de fois , donc à force.. ça rentre. T'inquiète pas, tu te feras encore avoir qques fois mais après ce sera bon

@++

  Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
1 août 2006 à 23:23
Re bonsoir,
Merci pour l' info et l' info ...
0
DAVIMIKA Messages postés 118 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 10 janvier 2014
3 août 2006 à 11:46
Bonjour chaibat05.

Merci pour le code qui me convient parfaitement.

Par contre je n'ai pas compris la remarque de mortalino, est-ce que je me suis


trompé de rubrique pour mon message ?


Salutations


 
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
3 août 2006 à 16:04
Bonjour,
Je croyais que tu étais en VB6.
Je dis ça parce que j' ai déjà eu l' occasion d' échanger quelques posts avec toi..
Si tu es toujours en VB6, alors tu t' es trompé de Rubrique,
et Mortalino a raison de le signaler.
Pour ma part , j' ai pas prêté attention.J' ai juste relevé ton nom.
J' avoue que c' est une mauvaise demarche de ne pas faire attention à la rubrique,
parce que, le plus souvent,  celà induit en erreur.

Bonne journée, et ravi de t' avoir re-croisé.
0
DAVIMIKA Messages postés 118 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 10 janvier 2014
3 août 2006 à 16:54
Re bonjour.

Quoi qu'il en soit ton code m'a été très utile, et moi aussi j'ai été ravi de t'avoir
re-croisé.

Salutations
0
Rejoignez-nous