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
| Dim reca As adodb.Recordset
Public Sub source(c, Optional tr As String = "date_in desc")
If Not Mode_debug Then On Error GoTo err
100 If IsNull(c) Then Exit Sub
110 If msql Then
112 Sr = "SELECT 0 as cas, code, date_in, Qin, adrs, iif(cd_cde='1', 'entrée main', cd_cde) as motif, lot, " & IIf(voir_prix, "pu_euro as masse", "masse") & ", qui, cd_bl_lg, lg, cd_bl as cd, qout" _
& " FROM bl_lg WHERE code='" & c & "' " _
& "UNION ALL SELECT [type], m.code, date_out, -m.Qout, adrs, l.cd_cde+'>'+motif, m.lot, null, m.qui, m.cd_bl_lg, lg, m.cd_mvt, 0" _
& " FROM mvts m inner join bl_lg l on m.cd_bl_lg=l.cd_bl_lg WHERE m.code='" & c & "' " _
& "UNION ALL SELECT -nature, b.code, date_out, -b.Qout, b.adrs, iif(b.cd_cde='1', 'BL '+cast(cd_blc as nvarchar), b.cd_cde), b.lot, null, b.qui, b.cd_bl_lg, b.lg, b.cd_blc_lg, 0" _
& " FROM blc_lg b WHERE (b.nature=1 or (b.nature=3 and b.Qout<0) or b.nature=5) and b.code='" & c & "' " _
& " ORDER BY " & tr
114 Set reca = New adodb.Recordset
116 reca.Open Sr, cnx, adOpenStatic, adLockReadOnly 'coté serveur, lecture seule
118 Set Me.Recordset = reca 'ATTENTION cette méthode ne se met pas à jour par requery :(
Set reca = Nothing
Else
120 Sr = "SELECT 0 as cas, code, date_in, Qin, adrs, iif(cd_cde='1', 'entrée main', cd_cde) as motif, lot, " & IIf(voir_prix, "pu_euro as masse", "masse") & ", qui, cd_bl_lg, lg, cd_bl as cd, qout" _
& " FROM bl_lg WHERE code='" & c & "' " _
& "UNION ALL SELECT [type], m.code, date_out, -m.Qout, adrs, l.cd_cde & '>' & motif, m.lot, null, m.qui, m.cd_bl_lg, lg, m.cd_mvt, 0" _
& " FROM mvts m inner join bl_lg l on m.cd_bl_lg=l.cd_bl_lg WHERE m.code='" & c & "' " _
& "UNION ALL SELECT -nature, b.code, date_out, -b.Qout, b.adrs, iif(b.cd_cde='1', 'BL ' & cstr(cd_blc), b.cd_cde), b.lot, null, b.qui, b.cd_bl_lg, b.lg, b.cd_blc_lg, 0" _
& " FROM blc_lg b WHERE (b.nature=1 or (b.nature=3 and b.Qout<0) or b.nature=5) and b.code='" & c & "' " _
& "ORDER BY " & tr
122 Me.RecordSource = Sr
End If
Exit Sub
err: Call message("Erreur " & err.Number & "/" & Erl & " dans stock_histo.source(" & c & ") : " & err.description)
200 DoCmd.Close acForm, "stock_histo"
End Sub |
Partager