У меня есть таблица в Access, которая показывает продукты и связанные с ними коды.Каждый продукт должен иметь код, но иногда пользователи ошибаются и дают один и тот же код двум разным продуктам.Я называю это «ошибкой дублирования»
В этом смысле все нормально.Поля вышеупомянутой таблицы: Имя, Типус, IdProvider, Цена, CodeBar.Единственные два, которые важны для нас, - это Name и CodeBar.
Чтобы не допустить ошибок дублирования результатов, но предоставляя возможность хранить дублированные коды, я добавил кнопку, которая предупреждает пользователя об этой проблеме.Итак, вот код этой кнопки.
Dim Magazine As Database
Dim Verification As Recordset
Dim CodProd As Recordset
Dim n As Integer
Dim way As String
Dim List As String
Dim SQL2 As String
Dim SQL As String
Dim CodProduct As String
Dim NameBarrasDuplicado As String
Set Magazine = CurrentDb
SQL = " SELECT Warehouse.CodeBar FROM Warehouse GROUP BY Warehouse.CodeBar HAVING (((Count(Warehouse.[CodeBar]))>1))"
Set Verification = Magazine.OpenRecordset(SQL, dbOpenDynaset)
If (Verification.RecordCount > 0) Then
SQL2 = "SELECT Warehouse.Name FROM Warehouse WHERE Warehouse.CodeBar = '" & Verification.Fields(0) & " ' "
Set CodProd = Magazine.OpenRecordset(SQL2, dbOpenDynaset)
CodProd.MoveFirst
Do Until Verification.EOF
Do Until CodProd.EOF
CodProduct = CodProd.Fields(0) & ", " & CodProducto & ""
MsgBox (CodProduct)
CodProd.MoveNext
Loop
CodProd.MoveFirst
List = List & ", " & Verification.Fields(0)
Verification.MoveNext
Loop
MsgBox ("Warehouse duplicated products are: " & CodProduct & " for these Barcodes : " & List & ".")
Else
MsgBox ("Everything OK, no duplicated codes found")
End If
End Sub
К сожалению, результат вышеупомянутого алгоритма таков:
Результатынеправильно.Вместо того, чтобы показывать названия продуктов, которые имеют дублированный штрих-код, он показывает те же имена, не имея отношения к штрих-кодам.Я хочу указать, что дублированные штрих-коды в порядке, они те.Но программа не работает, когда она собирается показать названия продуктов, которые имеют эти дубликаты кодов.
Кто-нибудь может дать подсказку об этом?Что делает второй набор записей, чтобы сохранить только два названия продукта вместо одного?