Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопрос! / 7 сообщений из 7, страница 1 из 1
22.04.2008, 10:37
    #35270453
toda_t
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос!
Добрый день, прошу прощения, я с Basic не работала, но пришлось столкнултья с перепиской чужого кода.
Рискну отбратиться.

Было следующиее:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Dim kod_usl_LN
LubNum = IIf(Not IsNull([Любимый_номер].Value),  1 ,  0 ) + _
    IIf(Not IsNull([Любимый_номер2].Value) And [Любимый_номер2].Enabled,  1 ,  0 ) + _
    IIf(Not IsNull([Любимый_номер3].Value) And [Любимый_номер3].Enabled,  1 ,  0 ) + _
    IIf(Not IsNull([Любимый_номер4].Value) And [Любимый_номер4].Enabled,  1 ,  0 ) + _
    IIf(Not IsNull([Любимый_номер5].Value) And [Любимый_номер5].Enabled,  1 ,  0 ) 
If LubNum =  1  Then kod_usl_LN = "5275"
If LubNum =  2  Then kod_usl_LN = "5295"
If LubNum =  3  Then kod_usl_LN = "5296"
If LubNum =  4  Then kod_usl_LN = "5297"
If LubNum =  5  Then kod_usl_LN = "5298"
If LubNum >  0  Then _
XMLstring = XMLstring & _
"<CATALOG_ITEM><ITEM ITEM=""TCatalogItem"">TCatalogItem" & _
"<CODE>" & kod_usl_LN & "</CODE>" & _
"</ITEM></CATALOG_ITEM>"
If [дата] >= CDate("19.3.2007") Then [сумма_за_ЛН].Value = Выбор_ЛН.Value
.....

End Function

Нужно всё то же самое, но с проверкой на тарифный план и для 10-ти номероввсех номеров,
у всех kod_usl_LN = "7775".

Грубо говоря:

Код: plaintext
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.
33.
34.
35.
36.
37.
38.
39.
40.
Dim kod_usl_LN
If т_план.Value = "Новый" Then
LubNum = IIf(Not IsNull([Любимый_номер].Value),  1 ,  0 ) + _
    IIf(Not IsNull([Любимый_номер2].Value) And [Любимый_номер2].Enabled,  1 ,  0 ) + _
    IIf(Not IsNull([Любимый_номер3].Value) And [Любимый_номер3].Enabled,  1 ,  0 ) + _
    IIf(Not IsNull([Любимый_номер4].Value) And [Любимый_номер4].Enabled,  1 ,  0 ) + _
    IIf(Not IsNull([Любимый_номер5].Value) And [Любимый_номер5].Enabled,  1 ,  0 ) + _
    IIf(Not IsNull([Любимый_номер6].Value) And [Любимый_номер6].Enabled,  1 ,  0 ) + _
    IIf(Not IsNull([Любимый_номер7].Value) And [Любимый_номер7].Enabled,  1 ,  0 ) + _
    IIf(Not IsNull([Любимый_номер8].Value) And [Любимый_номер8].Enabled,  1 ,  0 ) + _
    IIf(Not IsNull([Любимый_номер9].Value) And [Любимый_номер9].Enabled,  1 ,  0 ) + _
    IIf(Not IsNull([Любимый_номер10].Value) And [Любимый_номер10].Enabled,  1 ,  0 )
If LubNum =  1  Then kod_usl_LN = "7775"
If LubNum =  2  Then kod_usl_LN = "7775"
If LubNum =  3  Then kod_usl_LN = "7775"
If LubNum =  4  Then kod_usl_LN = "7775"
If LubNum =  5  Then kod_usl_LN = "7775"
If LubNum =  6  Then kod_usl_LN = "77755"
If LubNum =  7  Then kod_usl_LN = "7775"
If LubNum =  8  Then kod_usl_LN = "7775"
If LubNum =  9  Then kod_usl_LN = "7775"
If LubNum =  10  Then kod_usl_LN = "7775"
If LubNum >  0  Then _
End If

If т_план.Value <> "Новый" Then
LubNum = IIf(Not IsNull([Любимый_номер].Value),  1 ,  0 ) + _
    IIf(Not IsNull([Любимый_номер2].Value) And [Любимый_номер2].Enabled,  1 ,  0 ) + _
    IIf(Not IsNull([Любимый_номер3].Value) And [Любимый_номер3].Enabled,  1 ,  0 ) + _
    IIf(Not IsNull([Любимый_номер4].Value) And [Любимый_номер4].Enabled,  1 ,  0 ) + _
    IIf(Not IsNull([Любимый_номер5].Value) And [Любимый_номер5].Enabled,  1 ,  0 )
If LubNum =  1  Then kod_usl_LN = "5275"
If LubNum =  2  Then kod_usl_LN = "5295"
If LubNum =  3  Then kod_usl_LN = "5296"
If LubNum =  4  Then kod_usl_LN = "5297"
If LubNum =  5  Then kod_usl_LN = "5298"
If LubNum >  0  Then _
End If
......
End Function

Такой вариант не катит, ругается всё время что блок записи If без End If.

Как говорили мне, в первом варианте логика селедующая, если у нас подключен 1 номер- код услуги такой-то,
если 2- такой-то и т.д.
В случае 10-ти для каждого из 10-ти один код услуги.
...
Рейтинг: 0 / 0
22.04.2008, 11:52
    #35270746
toda_t
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос!
Ругается на End function и кричитт что блок If без ENd if.
За что зацепиться хотя бы?
...
Рейтинг: 0 / 0
22.04.2008, 11:58
    #35270773
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос!
> Автор: toda_t
> Ругается на End function и кричитт что блок If без ENd if.
> За что зацепиться хотя бы?

Да за что цеплятся то :(
отформатируй код, глядишь чего-то и найдешь не закрытое

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
22.04.2008, 12:01
    #35270787
-=Ogre=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос!
если все время ругаеться на не закрытый иф тогда попробуй постаить после каждого условия закрытия мб поможет
ЗЫ не писал на vb никогда, но писал на 2 языках похожих на VB по синтаксису =)
...
Рейтинг: 0 / 0
22.04.2008, 13:27
    #35271142
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос!
Код: plaintext
1.
2.
3.
4.
5.
select case LubNum
case  1 , 2 , 3 , 4 ,...
...
case else
...
end case
...
Рейтинг: 0 / 0
22.04.2008, 14:11
    #35271328
toda_t
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос!
Спасибо, вроде получилось и не ругается!
Объясните плиз, это я так понимаю ссылки на ячейки Excel? R45 где я нашла, что может значить остальное?
Код: plaintext
1.
strCell = Left(DDERequest(intChan1, "R45C9"), Len(DDERequest(intChan1, "R45C9")) -  2 )
    If strCell = "" Then strCell = Left(DDERequest(intChan1, "R45C8"), Len(DDERequest(intChan1, "R45C8")) -  2 )

Не диапазон ли это?
...
Рейтинг: 0 / 0
22.04.2008, 14:13
    #35271332
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос!
я так понимаю, тут береться часть содержимого определенной ячейки
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопрос! / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]