Бесконечный цикл в моей программе доступа VBA почему? - PullRequest
0 голосов
/ 13 марта 2019
schsql = "SELECT obi_cl_cde_lig_cad.cpt_cde_cl, obi_cl_cde_lig_cad.no_int_lig_cde_cl, obi_cl_cde_lig_cad.no_int_cde_cad_cl, obi_cl_cde_lig_cad.no_int_ord_fab, obi_cl_cde_lig_cad.dte_liv_conf_cde_cad_cl, obi_cl_cde_lig_cad.dte_hre_exp_prev, obi_cl_cde.pt_bloq, obi_cl_cde_lig.pt_force_sld, obi_cl_cde_lig_cad.pt_sld_cad, obi_cl_cde_lig_cad.qte_liv_cde_cad_cl, obi_cl_cde_lig.pt_att_lig_cde_cl, obi_cl_cde_lig_cad.pt_prev_cde_cad_cl, obi_cl_cde_lig_cad.qte_cde_cad_cl, obi_ordfab.cd_etat_ordfab " & vbCrLf
schsql = schsql & "FROM obi_ordfab RIGHT JOIN (obi_cl_cde INNER JOIN (obi_cl_cde_lig_cad INNER JOIN obi_cl_cde_lig ON (obi_cl_cde_lig_cad.no_ste = obi_cl_cde_lig.no_ste) AND (obi_cl_cde_lig_cad.cpt_cde_cl = obi_cl_cde_lig.cpt_cde_cl) AND (obi_cl_cde_lig_cad.no_int_lig_cde_cl = obi_cl_cde_lig.no_int_lig_cde_cl)) ON (obi_cl_cde.no_ste = obi_cl_cde_lig.no_ste) AND (obi_cl_cde.cpt_cde_cl = obi_cl_cde_lig.cpt_cde_cl)) ON (obi_ordfab.no_int_ord_fab = obi_cl_cde_lig_cad.no_int_ord_fab) AND (obi_ordfab.no_ste = obi_cl_cde_lig_cad.no_ste) " & vbCrLf
schsql = schsql & "WHERE (((obi_cl_cde.pt_bloq)=""0"") AND ((obi_cl_cde_lig.pt_force_sld)=""0"") AND ((obi_cl_cde_lig_cad.pt_sld_cad)=""0"") AND ((obi_cl_cde_lig_cad.qte_liv_cde_cad_cl)<[obi_cl_cde_lig_cad]![qte_cde_cad_cl]) AND ((obi_cl_cde_lig.pt_att_lig_cde_cl)=""0""));"

Set rst = CurrentDb.OpenRecordset(schsql)
If Not rst.RecordCount = 0 Then

    rst.MoveFirst
    Do Until rst.EOF

        'If rst!no_int_ord_fab = 62432 Then Stop
        'rcset.FindFirst ("OF=" & rst!no_int_ord_fab)

        chsql = "Select * FROM admin_inventaire_expedition where no_int_cde_cad_cl = " & rst!no_int_cde_cad_cl & " AND Emplacement = """ & "EXPE" & """ "
        Set rcset = CurrentDb.OpenRecordset(chsql)

        If Not rcset.EOF Then

            rcset.Edit
                rcset!cpt_cde_cl = rst!cpt_cde_cl
                rcset!no_int_lig_cde_cl = rst!no_int_lig_cde_cl
                rcset("Date expé") = rst!dte_hre_exp_prev
                rcset("Date livraison") = rst!dte_liv_conf_cde_cad_cl
            rcset.Update

        End If
        rst.MoveNext
    Loop
    rst.Close
    Set rst = Nothing
End If

Моя программа делает бесконечный цикл, я просто изменяю свой первый запрос набора записей, чтобы быть быстрее, но почему бесконечный цикл, пожалуйста?

...