Questione : VBA per aggiornare i valori del campo su una tabella durante il ciclo

Il blocco di codice sotto i manuali specifici delle importazioni da 3 lime differenti di Excel in una tabella.  Subito dopo che il `Year1.xlsx' è importato nel tblMaster del `', devo aggiornare il valore per ogni annotazione nell'ambito del `di nome di campo fldYear' nella tabella dell'obiettivo (tblMaster del `').  il valore che del

The aggiornerebbe a proviene dal controllo di forma di “[forme]! [frmName]! [txtYear1]„. il

Then quando il `Year2.xlsx' è importato, `fldYear' sarebbe aggiornato con il valore elencato in “[forme]! [frmName]! [txtYear2]„.  Allora lo stesso vestito sarebbe seguito quando importa il `Year3.xlsx„. visione del

Any di questo? class= " lineNumbers " >
1 del >
: 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= codeBody " prettyprint " ImportExcelSheetsfIANL secondario >Public del id= " codeSnippet794610 " del >
 del myPath (j)) allora

Regolare il objXL = CreateObject (“Excel.Application„)
    myPath di objXL.Workbooks.Open (j), allineare
    Con objXL
        Per i = 1 a. Worksheets.Count
            Se InStr (. Manuali (i). Nome, “widget„) allora
            acImport di DoCmd.TransferSpreadsheet, acSpreadsheetTypeExcel12, _
             “tblMaster„, myPath (j), allineare. Manuali (i). Nome &„! A: M. "
            Concluder se
        Dopo
    Estremità con
    objXL.Quit
    Regolare il objXL = niente

    Altrimenti
    iCnt = iCnt + 1
Concluder se
Dopo
Se iCnt = 3 allora
I manuali di MsgBox “non esistono. Uscendo sommergibile ora! „, vbInformation, “errore„
Uscire il sommergibile
Concluder se
class= > " libero " di 
class= del

Risposta : VBA per aggiornare i valori del campo su una tabella durante il ciclo

provare questo

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 secondario pubblico ()
objXL fioco come oggetto
Scuderia fioca, xlPath come stringa, i come numero intero

myPath fioco (), J, iCnt come numero intero
myPath = allineamento (“\ \ assistente \ Year1.xlsx„, _
               “\ \ assistente \ Year2.xlsx„, _
               “\ \ assistente \ Year3.xlsx„)
Per J = LBound (myPath) a UBound (myPath)
    
Se Dir ("" del myPath (j) <> ) allora

Regolare il objXL = CreateObject (“Excel.Application„)
    myPath di objXL.Workbooks.Open (j), allineare
    Con objXL
        Per i = 1 a. Worksheets.Count
            Se InStr (. Manuali (i). Nome, “widget„) allora
            acImport di DoCmd.TransferSpreadsheet, acSpreadsheetTypeExcel12, _
             “tblMaster„, myPath (j), allineare. Manuali (i). Nome &„! A: M. "
            Concluder se
        Dopo
        
    Estremità con
    objXL.Quit
    Regolare il objXL = niente
    Selezionare il caso J
        Caso 0
        fldYear='" stabilito del tblMaster dell'aggiornamento di CurrentDb.Execute “& [forme]! [frmName]! [txtYear1] & “'dove fldYear è nullo„
        Caso 1
        fldYear='" stabilito del tblMaster dell'aggiornamento di CurrentDb.Execute “& [forme]! [frmName]! [txtYear2] & “'dove fldYear è nullo„
        Caso 2
        fldYear='" stabilito del tblMaster dell'aggiornamento di CurrentDb.Execute “& [forme]! [frmName]! [txtYear3] & “'dove fldYear è nullo„
        
        
    Estremità prescelta
    Altrimenti
    iCnt = iCnt + 1
Concluder se
Dopo
Se iCnt = 3 allora
I manuali di MsgBox “non esistono. Uscendo sommergibile ora! „, vbInformation, “errore„
Uscire il sommergibile
Concluder se

Concludere il sommergibile
Altre soluzioni  
 
programming4us programming4us