Vb6 当前作用域vb 6中存在重复错误

Vb6 当前作用域vb 6中存在重复错误,vb6,Vb6,有人能帮我吗。我试图在一个表单中显示一个带有两个不同记录集的警报msgbox,这样每当有过期药品时,它都会同时显示和警报。但它给了我一个错误“当前范围内的重复错误” 在这一行 Dim到期日期为日期 Do While Not Adodc2.Recordset.EOF=True “------------” Private子表单_Activate() Dim到期日期为日期 Me.AutoRedraw=真 Adodc1.Recordset.MoveFirst Do While Not Adodc1.

有人能帮我吗。我试图在一个表单中显示一个带有两个不同记录集的警报msgbox,这样每当有过期药品时,它都会同时显示和警报。但它给了我一个错误“当前范围内的重复错误” 在这一行

Dim到期日期为日期
Do While Not Adodc2.Recordset.EOF=True
“------------”

Private子表单_Activate()
Dim到期日期为日期
Me.AutoRedraw=真
Adodc1.Recordset.MoveFirst
Do While Not Adodc1.Recordset.EOF=True
主要
.Text4.Text=”“&Adodc1.Recordset.Fields(“MedicineName”)
.Text1.Text=Adodc1.Recordset.Fields(“genericname”)
.Text3.Text=Adodc1.Recordset.Fields(“库存数量”)
.Combo3.Text=Adodc1.Recordset.Fields(“Expmonth”)
.Combo4.Text=Adodc1.Recordset.Fields(“Expday”)
.Combo5.Text=Adodc1.Recordset.Fields(“Expyear”)
以
expirationdate=CDate(Combo3&“/”&Combo4&“/”&Combo5)
datepicker.Value=格式(现在为“MMM DD yyyy”)
如果datepicker>expirationdate,则
MsgBox Text4.Text&“已过期!”,vb感叹号,“警告”
如果MsgBox(“是否要处置”&Text4&“?”,vbQuestion+vbYesNo,“Message”)=vbYes,则
Adodc1.Recordset.Delete
其他的
出口接头
如果结束
如果结束
Adodc1.Recordset.MoveNext
环
'________________'
Dim到期日期为日期
Me.AutoRedraw=真
Adodc2.Recordset.MoveFirst
Do While Not Adodc2.Recordset.EOF=True
主要
.Text10=Adodc2.Recordset.Fields(“房间号”)
.Text11=”“&Adodc2.Recordset.Fields(“MedicineName”)
.Text2=Adodc2.Recordset.Fields(“GenericName”)
.Text12.Text=Adodc2.Recordset.Fields(“库存数量”)
.Combo10=Adodc2.Recordset.Fields(“Expmonth”)
.Combo11=Adodc2.Recordset.Fields(“Expday”)
.Combo12=Adodc2.Recordset.Fields(“Expyear”)
以
expirationdate=CDate(Combo10&“/”&Combo11&“/”&Combo12)
datepicker2.Value=格式(现在为“MMM DD yyyy”)
如果datepicker2<到期日期,则
MsgBox“OK!”,vbInformation,“正在工作”
其他的
MsgBox“药品过期!”,感叹“警告!”
如果MsgBox(“是否要删除”&Text11&“?”,vbQuestion+vbYesNo,“Message”)=vbYes,则
Adodc2.Recordset.Delete
出口接头
如果结束
如果结束
Adodc2.Recordset.MoveNext
环
端接头

试试这个。您有时依赖于控件的默认属性。这通常是不好的,所以我添加了属性。我还删除了退出子行。如果用户单击您不想退出sub,则需要继续循环Adodc2记录集

Me.AutoRedraw = True
Adodc2.Recordset.MoveFirst
Do While Not Adodc2.Recordset.EOF = True
    With Main
        .Text10.Text = Adodc2.Recordset.Fields("roomno")
        .Text11.Text = "" & Adodc2.Recordset.Fields("MedicineName")
        .Text2.Text = Adodc2.Recordset.Fields("GenericName")
        .Text12.Text = Adodc2.Recordset.Fields("StockQuantity")
        .Combo10.Text = Adodc2.Recordset.Fields("Expmonth")
        .Combo11.Text = Adodc2.Recordset.Fields("Expday")
        .Combo12.Text = Adodc2.Recordset.Fields("Expyear")
    End With

    expirationdate = CDate(Combo10.Text & "/" & Combo11.Text & "/" & Combo12.Text)

    datepicker2.Value = Format(Now, "MMM-DD-yyyy")

    If datepicker2.Value < expirationdate Then
        MsgBox "OK!", vbInformation, "Working"
    Else
        MsgBox "Medicine Expired!.", vbExclamation, " Warning!"
        If MsgBox("Do you want to delete " & Text11.Text & "?", vbQuestion + vbYesNo, "Message") = vbYes Then
            Adodc2.Recordset.Delete
        End If
    End If
    Adodc2.Recordset.MoveNext
Loop
Me.AutoRedraw=True
Adodc2.Recordset.MoveFirst
Do While Not Adodc2.Recordset.EOF=True
主要
.Text10.Text=Adodc2.Recordset.Fields(“房间号”)
.Text11.Text=”“&Adodc2.Recordset.Fields(“MedicineName”)
.Text2.Text=Adodc2.Recordset.Fields(“GenericName”)
.Text12.Text=Adodc2.Recordset.Fields(“库存数量”)
.Combo10.Text=Adodc2.Recordset.Fields(“Expmonth”)
.Combo11.Text=Adodc2.Recordset.Fields(“Expday”)
.Combo12.Text=Adodc2.Recordset.Fields(“Expyear”)
以
expirationdate=CDate(Combo10.Text&“/”&Combo11.Text&“/”&Combo12.Text)
datepicker2.Value=格式(现在为“MMM DD yyyy”)
如果datepicker2.Value
您的代码中已经有一个变量expirationdate在上面声明。在同一范围内不能有多个同名变量,在这种情况下,子方法Form_激活。只需删除第二个
变量Dim expirationdate As Date
或更改变量名。我删除变量Dim expirationdate As Date。我没有错。但仍然不起作用。它不显示第二条记录集的值。@Christine:你应该把Jac的答案标记为正确。