powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопрос!
7 сообщений из 7, страница 1 из 1
Вопрос!
    #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
Вопрос!
    #35270746
toda_t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ругается на End function и кричитт что блок If без ENd if.
За что зацепиться хотя бы?
...
Рейтинг: 0 / 0
Вопрос!
    #35270773
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: toda_t
> Ругается на End function и кричитт что блок If без ENd if.
> За что зацепиться хотя бы?

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

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Вопрос!
    #35270787
Фотография -=Ogre=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если все время ругаеться на не закрытый иф тогда попробуй постаить после каждого условия закрытия мб поможет
ЗЫ не писал на vb никогда, но писал на 2 языках похожих на VB по синтаксису =)
...
Рейтинг: 0 / 0
Вопрос!
    #35271142
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
select case LubNum
case  1 , 2 , 3 , 4 ,...
...
case else
...
end case
...
Рейтинг: 0 / 0
Вопрос!
    #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
Вопрос!
    #35271332
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я так понимаю, тут береться часть содержимого определенной ячейки
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопрос!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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