Приведенные ниже методы предполагают, что вы либо импортировали данные из файла Excel, либо связались с ним из Access.
Метод запроса: Если в таблице есть снятые с производства штрих-кодыили запрос, вы можете использовать этот запрос на обновление (рекомендуемый способ для простых случаев, таких как ваш):
UPDATE PRODUCTS SET PRODUCTS.STATUS = "DISCONTINUED"
WHERE PRODUCTS.BARCODE IN (SELECT BARCODE FROM OLD_BARCODES);
VBA Метод: Если вы настаиваете на использовании VBA, вы можете использовать эту функцию дляПросмотрите оба списка штрих-кодов и обновите свой активный список:
Function UpdateBarcodeStatus()
Dim rsDC, rsCur As Recordset
' open rs for current barcodes
Set rsCur = CurrentDb.OpenRecordset("SELECT BARCODE, STATUS FROM BARCODES")
' open rs for discontinued barcodes
Set rsDC = CurrentDb.OpenRecordset("SELECT BARCODE FROM OLD_BARCODES")
On Error GoTo ErrHandler:
rsCur.MoveFirst
' loop through all current barcodes
While Not rsCur.EOF
rsDC.MoveFirst
' loop through discontinued barcodes for each current barcode
While Not rsDC.EOF
If rsDC!BARCODE = rsCur!BARCODE Then
' edit current barcode status
rsCur.Edit
rsCur!Status = "DISCONTINUED"
rsCur.Update
End If
rsDC.MoveNext
Wend
rsCur.MoveNext
Wend
HandleClose:
' close recordsets
rsDC.Close
rsCur.Close
Exit Function
ErrHandler:
Debug.Print Err.Description
GoTo HandleClose
End Function