Вернуться
пародолжение темы выборки записей в ...
Андрей (Глекос)
0 - 18.02.2005-12:44
может через while или case...
For i = 1 To sz


[b5] = i
If fiopcode.Value = 97 Then
If fiopcode.Value = 1 Then
If fiopcode.Value = 9 Then
If fiopcode.Value = 13 Then

r.Cells(i, 1) = fiecrid.Value
If fiopcode.Value = 1 Then
r.Cells(i, 2) = "Àðòèêóë +"
End If
If fiopcode.Value = 9 Then
r.Cells(i, 2) = "Ïðîì. èòîã"
End If
If fiopcode.Value = 10 Then
r.Cells(i, 2) = "Íàëè÷íûå"
End If
If fiopcode.Value = 97 Then
r.Cells(i, 2) = "Äèñêîíò"
End If
If fiopcode.Value = 13 Then
r.Cells(i, 2) = "Îòêàç"
End If
If fiopcode.Value = 2 Then
r.Cells(i, 2) = "Àðòèêóë -"
End If
r.Cells(i, 3) = fichecknumber.Value
r.Cells(i, 4) = fitime.Value
r.Cells(i, 5) = filocalcode.Value
r.Cells(i, 6) = ficount.Value
r.Cells(i, 7) = fiprice.Value
r.Cells(i, 8) = fisum.Value
r.Cells(i, 9) = fiPercent.Value
End If
End If
End If
End If
pd.MoveNext: Next
End Sub
Vitaly
1 - 18.02.2005-15:36
Может и через case. А так как ты хотел написать, то нужно ElseIf. И еще, то что дальше все равно работать не будет. Тебе же видимо надо отфильтровать только дисконт. Поэтому +Арт и т.д. нужно рассматривать только, если была операция 97. И т.д.
Рекомендую сначала поизучать примеры в справке по CashTAN и в VBA.
Андрей (Глекос) Пользуетесь фриваре
2 - 18.02.2005-15:47
Private Sub CommandButton2_Click()
im = 1
Dim ct As New CashTANP9.Application, pf As ProtocolFolder, p As Protocol, pd As ProtocolData
Dim r As Range, i&, sz&
Dim fiecrid As CashTANP9.Field, fiopcode As CashTANP9.Field, fichecknumber As CashTANP9.Field, fitime As CashTANP9.Field
Dim filocalcode As CashTANP9.Field, ficount As CashTANP9.Field, fiprice As CashTANP9.Field
Dim fisum As CashTANP9.Field, fiPercent As CashTANP9.Field

Activate
For Each pf In ct.ProtocolFolders
If pf.Caption = Cells(1, 5) Then Exit For
Next
If pf Is Nothing Then
MsgBox "Папка протоколов не найдена!": Exit Sub
End If
For Each p In pf
If p.Caption = Cells(1, 7) Then Exit For
Next
If p Is Nothing Then
MsgBox "Протокол не найден!": Exit Sub
End If
Set r = Range("a10", "i10000"): r.Clear
Set pd = p.ProtocolData
sz = pd.RecordsCount: Cells(5, 4) = sz: If sz > 9900 Then sz = 9900
Set r = Range("i10", "i" + CStr(sz + 9)): r.Activate: r.NumberFormat = "0.00%"
Set r = Range("f10", "f" + CStr(sz + 9)): r.Activate: r.NumberFormat = "0.000"
Set r = Range("a10", "i" + CStr(sz + 9)): r.Activate: r.Borders.Value = 1
Cells(1, 1).Activate
CommandButton1.Activate: DoEvents
Set fiecrid = pd!EcrId
Set fiopcode = pd!OpCode
Set fichecknumber = pd!CheckNumber
Set fitime = pd!Time
Set filocalcode = pd!LocalCode
Set ficount = pd!Count
Set fiprice = pd!Price
Set fisum = pd!Sum
Set fiPercent = pd!Percent
For i = 1 To sz

[b5] = i
If fiopcode.Value = 10 Then
check = 0
End If
If fiopcode.Value = 97 Then
check = 1
cash = im
End If
If fiopcode.Value = 13 Then
' cash = im
End If
If fiopcode.Value = 10 Then
im = cash
End If

If check = 1 Then

r.Cells(im, 1) = fiecrid.Value
If fiopcode.Value = 1 Then
r.Cells(im, 2) = "Артикул +"
End If
If fiopcode.Value = 9 Then
r.Cells(im, 2) = "Пром. итог"
End If
If fiopcode.Value = 10 Then
r.Cells(im, 2) = "Наличные"
End If
If fiopcode.Value = 97 Then
r.Cells(im, 2) = "Дисконт"
r.Cells(im, 2).Select
With Selection.Interior
.ColorIndex = 4
.Pattern = xlSolid
End With
End If
If fiopcode.Value = 13 Then
r.Cells(im, 2) = "Отказ"
r.Cells(im, 2).Select
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
End With
cash = im + 1
End If
If fiopcode.Value = 2 Then
r.Cells(im, 2) = "Артикул -"
End If
r.Cells(im, 3) = fichecknumber.Value
r.Cells(im, 4) = fitime.Value
r.Cells(im, 5) = filocalcode.Value
r.Cells(im, 6) = ficount.Value
r.Cells(im, 7) = fiprice.Value
r.Cells(im, 8) = fisum.Value
r.Cells(im, 9) = fiPercent.Value
im = im + 1
End If





pd.MoveNext: Next
End Sub
Vitaly
3 - 21.02.2005-16:00
Ув. Андрей. Все не так просто. Лучше свяжись по телефону, мы расскажем основные концепции. Если мы будем так программу отлаживать, то ни на каком форуме места не хватит :-)

Добавить сообщение
Ваше имя 
Пароль (для зарегистрированных) 
email 
Сообщение 
Введите код, изображенный на картинке
Для зарегистрированных пользователей можно не вводить 
Внимание - введите код без последнего символа!

© ТФПК Лтд. Все права защищены.
0.034278 seconds