Question : VBA pour mettre à jour des valeurs de champ sur une table pendant une boucle

Le bloc de code au-dessous des feuilles de travail spécifiques d'importations à partir de 3 dossiers différents d'Excel dans une table.  Juste après que le `Year1.xlsx' est importé dans le tblMaster de `', je dois mettre à jour la valeur pour chaque disque sous le `de nom de champ fldYear' dans la table de cible (tblMaster de `').  la valeur du

The qu'il mettrait à jour à est de la commande de forme de « [des formes] ! [frmName] ! [txtYear1] ». le

Then quand le `Year2.xlsx' est importé, `fldYear' serait mis à jour avec la valeur énumérée dans « [des formes] ! [frmName] ! [txtYear2] ».  Alors le même costume serait suivi en important le `Year3.xlsx ». aperçu du

Any de ceci ? class= " lineNumbers " >
1 de >
: 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 : 10 : 11 : 12 : 13 : 14 : 15 : 16 : 17 : 18 : 19 : 20 : 21 : 22 : 23 : 24 : 25 : 26 : 27 : 28 : 29 : 30 : 31 : 32 : 33 : class= " de Public de l'id= " codeSnippet794610 " de >
 (de myPath (j)) alors

Placer l'objXL = le CreateObject (« Excel.Application »)
    myPath d'objXL.Workbooks.Open (j), vrai
    Avec l'objXL
        Pour I = 1 à. Worksheets.Count
            S'InStr (. Feuilles de travail (i). Nom, « gadget ») puis
            acImport de DoCmd.TransferSpreadsheet, acSpreadsheetTypeExcel12, _
             « tblMaster », myPath (j), vrai. Feuilles de travail (i). Nom et » ! A : M "
            Finir si
        Après
    Extrémité avec
    objXL.Quit
    Placer l'objXL = rien

    Autrement
    iCnt = iCnt + 1
Finir si
Après
S'iCnt = 3 puis
Feuilles de travail de MsgBox les « n'existent pas. Sortant le sous-marin maintenant !  », vbInformation, « erreur »
Sortir le sous-marin
Finir si
class= > " clair " de 
class= de

Réponse : VBA pour mettre à jour des valeurs de champ sur une table pendant une boucle

examiner ceci

1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
21 :
22 :
23 :
24 :
25 :
26 :
27 :
28 :
29 :
30 :
31 :
32 :
33 :
34 :
35 :
36 :
37 :
38 :
39 :
40 :
41 :
42 :
43 :
44 :
45 :
ImportExcelSheetsfIANL secondaire public ()
Faible objXL comme objet
Faible écurie, xlPath comme corde, I comme nombre entier

Faible myPath (), j, iCnt comme nombre entier
myPath = rangée (« \ \ serveur \ Year1.xlsx », _
               « \ \ serveur \ Year2.xlsx », _
               « \ \ serveur \ Year3.xlsx »)
Pour j = LBound (myPath) à UBound (myPath)
    
Si Dir "" (de myPath (j) <> ) alors

Placer l'objXL = le CreateObject (« Excel.Application »)
    myPath d'objXL.Workbooks.Open (j), vrai
    Avec l'objXL
        Pour I = 1 à. Worksheets.Count
            S'InStr (. Feuilles de travail (i). Nom, « gadget ») puis
            acImport de DoCmd.TransferSpreadsheet, acSpreadsheetTypeExcel12, _
             « tblMaster », myPath (j), vrai. Feuilles de travail (i). Nom et » ! A : M "
            Finir si
        Après
        
    Extrémité avec
    objXL.Quit
    Placer l'objXL = rien
    Choisir le cas j
        Affaire 0
        fldYear='" réglé de tblMaster de mise à jour de CurrentDb.Execute « et [formes] ! [frmName] ! [txtYear1] et « 'où fldYear est nul »
        Affaire 1
        fldYear='" réglé de tblMaster de mise à jour de CurrentDb.Execute « et [formes] ! [frmName] ! [txtYear2] et « 'où fldYear est nul »
        Affaire 2
        fldYear='" réglé de tblMaster de mise à jour de CurrentDb.Execute « et [formes] ! [frmName] ! [txtYear3] et « 'où fldYear est nul »
        
        
    Extrémité choisie
    Autrement
    iCnt = iCnt + 1
Finir si
Après
S'iCnt = 3 puis
Feuilles de travail de MsgBox les « n'existent pas. Sortant le sous-marin maintenant !  », vbInformation, « erreur »
Sortir le sous-marin
Finir si

Finir le sous-marin
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us