|
|
|
| Работаю из VB6
Function FUN_NOT_ACTIVE()
' Выявление не действующих карт& "Выявление неактивных покупателей" и удаление их
Dim INTERVAL_MESYACI As Integer ' интервал возможной неактивности
Dim rst_C As ADODB.Recordset ' карты покупателей
Set rst_C = New ADODB.Recordset
Dim rst_KOMAND As ADODB.Recordset ' карты команды покупателя
Set rst_KOMAND = New ADODB.Recordset
' выбор тех кто не активировал карту в теч месяца и не проявлял активности
rst_C.Open "SELECT CLIENT_CARDS_TBL.* " _
& " From CLIENT_CARDS_TBL" _
& " WHERE ((CLIENT_CARDS_TBL.YES_OR_NO)=False) ", GLB_CLIENT_CONNECTION, adOpenKeyset, adLockOptimistic
If Not rst_C.EOF And Not rst_C.BOF Then
rst_C.MoveFirst
Call FUN_IN_TXT(FUN_Patch_File(App.Path, "Свободные карты.txt"), "=========================================")
Call FUN_IN_TXT(FUN_Patch_File(App.Path, "Свободные карты.txt"), CStr(Now()))
Do While Not rst_C.EOF
INTERVAL_MESYACI = 0
If NZVAL(rst_C("DATE_RECORDS")) = 0 Then
rst_C("DATE_RECORDS") = Date
rst_C.Update
End If
' проверка интервала неактивности
INTERVAL_MESYACI = DateDiff("m", rst_C("DATE_RECORDS"), Date)
If INTERVAL_MESYACI <= 12 Then GoTo Dalee
' проверка интервала неактивности
If NZVAL(rst_C("MONTH_TURN")) <> 0 Then GoTo Dalee
If NZVB(rst_C("NUMBER_CARD")) <> "БЕЗ_КАРТ" Then
' Является ли чьим нибудь спонсором?
вместо этого набора записей что то типа Dcount с условием - имеется возможность применить?
rst_KOMAND.Open "SELECT CLIENT_CARDS_TBL.PARENT_CARD " _
& " From CLIENT_CARDS_TBL " _
& " WHERE (((CLIENT_CARDS_TBL.PARENT_CARD)= '" & rst_C("NUMBER_CARD") & "'))", GLB_CLIENT_CONNECTION, adOpenKeyset, adLockOptimistic
If rst_KOMAND.RecordCount = 0 Then
' Запись в текстовый файл
Call FUN_IN_TXT(FUN_Patch_File(App.Path, "Свободные карты.txt"), rst_C("NUMBER_CARD") & "- его спонсор " & rst_C("PARENT_CARD"))
Set MItem = Me!LV4.ListItems.Add()
MItem.Text = rst_C("NUMBER_CARD")
rst_C.Delete ' удаление
rst_C.Update
End If
End If
Dalee:
rst_C.MoveNext
Loop
End If
rst_C.Close
rst_KOMAND.Close
Set rst_C = Nothing
Set rst_KOMAND = Nothing
End Function
|
Пока бегаю по таблице, пытаюсь к этой таблице ещё один запрос применить - не тут то было, надо говорят закрыть первый набор записей.
А мне надо то всего лишь узнать есть записи отвечающие условию:
WHERE (((CLIENT_CARDS_TBL.PARENT_CARD)= '" & rst_C("NUMBER_CARD") & "'))"
может как то иначе обратиться за поиском в таблице?[b][/b] | |
|
| |
|
|
|
| Создал дополнительную функцию - вроде как попёрло!
Function FUN_NOT_ACTIVE()
' Выявление не действующих карт& "Выявление неактивных покупателей" и удаление их
Dim INTERVAL_MESYACI As Integer ' интервал возможной неактивности
Dim rst_C As ADODB.Recordset ' карты покупателей
Set rst_C = New ADODB.Recordset
' выбор тех кто не активировал карту в теч месяца и не проявлял активности
rst_C.Open "SELECT CLIENT_CARDS_TBL.* " _
& " From CLIENT_CARDS_TBL" _
& " WHERE ((CLIENT_CARDS_TBL.YES_OR_NO)=False) ", GLB_CLIENT_CONNECTION, adOpenKeyset, adLockOptimistic
If Not rst_C.EOF And Not rst_C.BOF Then
rst_C.MoveFirst
Call FUN_IN_TXT(FUN_Patch_File(App.Path, "Свободные карты.txt"), "=========================================")
Call FUN_IN_TXT(FUN_Patch_File(App.Path, "Свободные карты.txt"), CStr(Now()))
Do While Not rst_C.EOF
INTERVAL_MESYACI = 0
If NZVAL(rst_C("DATE_RECORDS")) = 0 Then
rst_C("DATE_RECORDS") = Date
rst_C.Update
End If
' проверка интервала неактивности
INTERVAL_MESYACI = DateDiff("m", rst_C("DATE_RECORDS"), Date)
If INTERVAL_MESYACI <= 12 Then GoTo Dalee
' проверка интервала неактивности
If NZVAL(rst_C("MONTH_TURN")) <> 0 Then GoTo Dalee
If NZVB(rst_C("NUMBER_CARD")) <> "БЕЗ_КАРТ" Then
' Является ли чьим нибудь спонсором?
If FUN_NOT_SPONSOR(rst_C("NUMBER_CARD")) = False Then
' Запись в текстовый файл
Call FUN_IN_TXT(FUN_Patch_File(App.Path, "Свободные карты.txt"), rst_C("NUMBER_CARD") & "- его спонсор " & rst_C("PARENT_CARD"))
Set MItem = Me!LV4.ListItems.Add()
MItem.Text = rst_C("NUMBER_CARD")
rst_C.Delete ' удаление
rst_C.Update
End If
End If
Dalee:
rst_C.MoveNext
Loop
End If
rst_C.Close
Set rst_C = Nothing
End Function
Function FUN_NOT_SPONSOR(STR_NUMBER_CARD) As Boolean
' Является ли чьим нибудь спонсором?
Dim INTERVAL_MESYACI As Integer ' интервал возможной неактивности
Dim rst_KOMAND As ADODB.Recordset ' карты команды покупателя
Set rst_KOMAND = New ADODB.Recordset
FUN_NOT_SPONSOR = False
rst_KOMAND.Open "SELECT CLIENT_CARDS_TBL.*" _
& " From CLIENT_CARDS_TBL " _
& " WHERE (((CLIENT_CARDS_TBL.PARENT_CARD)= '" & STR_NUMBER_CARD & "'))", GLB_CLIENT_CONNECTION, adOpenKeyset, adLockOptimistic
If rst_KOMAND.RecordCount = 0 Then
FUN_NOT_SPONSOR = True
End If
rst_KOMAND.Close
Set rst_KOMAND = Nothing
End Function
|
| |
|
| |
|
|
|
|
| Тихо сам с собою, тихо сам с собою. Я веду беседу | |
|
| |
|