powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SQL и VBA
25 сообщений из 107, страница 4 из 5
SQL и VBA
    #37291984
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если условие убрать?
...
Рейтинг: 0 / 0
SQL и VBA
    #37291990
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

Простите безграммотных, а что такое А ?
Вместо него нужно что-то подсталять?
Вставляла- не работает:

Код: plaintext
1.
 strSQL7 = "SELECT count(A.*) as kolvo from (select [" & strField5 & "] from [Ëèñò1$A3:AM65000] WHERE [" & strField1 & "] " & strOperator1 & " 'Casco' ) A"
...
Рейтинг: 0 / 0
SQL и VBA
    #37292001
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VikVikVik,

Если не хочешь до конца сезона переписываться, давай тестовый файл. Желательно вычистить оттуда все, кроме необходимой функции или дать подробные разъяснения, что и где надо увидеть.
...
Рейтинг: 0 / 0
SQL и VBA
    #37292003
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
жесть какая-то

вы уж простите за выражение. сначала создайте работоспособный запрос внутри вашего excel (с помощью акцесса ли или msquery), а уж потом кодируйте его в коде своём. мы ж тут не экстрасенсы, чтоб видеть как в вашем файлике столбцы называются, может вы их от фонаря назвали , а в запросе другие имена навставляли. и пользуйтесь обработчиком ошибок и сюда приводите всегда
Код: plaintext
Err.Number & ": " & Err.Description
, чтобы можно хоть что-то вам посоветовать
...
Рейтинг: 0 / 0
SQL и VBA
    #37292089
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
...
Рейтинг: 0 / 0
SQL и VBA
    #37292096
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

А вот файл откуда тянеться
...
Рейтинг: 0 / 0
SQL и VBA
    #37292104
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты все-таки до конца сезона хочешь....

Shocker.ProЕсли не хочешь до конца сезона переписываться, давай тестовый файл. Желательно вычистить оттуда все, кроме необходимой функции или дать подробные разъяснения, что и где надо увидеть.
...
Рейтинг: 0 / 0
SQL и VBA
    #37292108
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,


Sub test17() в Модуле 1
...
Рейтинг: 0 / 0
SQL и VBA
    #37292114
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А каким должен быть результат? Печататься не ноль в Immediate? Почему?
...
Рейтинг: 0 / 0
SQL и VBA
    #37292118
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProА каким должен быть результат? Печататься не ноль в Immediate? Почему?
Код: plaintext
1.
2.
    Dim x7 As Currency
    Debug.Print x7
...
Рейтинг: 0 / 0
SQL и VBA
    #37292167
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Если смотреть лист 10-10.
1)Это если брать Дату регестрации >1/1/2010 и < 1/1/2011
2)Дату События >1/1/2010 и <1/1/2011
3)Вид Сasco если брать повторяющие Номера КЗ, то это 1429.
4)А мне нужно брать не повторяющие номера КЗ 1288.

Что я делала с помощью сначала сводная, а потом в сводной считала ЧСТРОК. Но ведь каждый раз неудобно делать. Можно ошибиться.

То есть при этих условиях 1),2),3),4) должно получаться в моем запросе 1288.
Эта таблица сводная была сделана на основе того файла, что я Вам выслала.
...
Рейтинг: 0 / 0
SQL и VBA
    #37292170
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Сам файл
...
Рейтинг: 0 / 0
SQL и VBA
    #37292173
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Смотреть С30 и D30
...
Рейтинг: 0 / 0
SQL и VBA
    #37292180
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VikVikVikShocker.Pro,

Если смотреть лист 10-10.
1)Это если брать Дату регестрации >1/1/2010 и < 1/1/2011
2)Дату События >1/1/2010 и <1/1/2011
3)Вид Сasco если брать повторяющие Номера КЗ, то это 1429.
4)А мне нужно брать не повторяющие номера КЗ 1288.

Что я делала с помощью сначала сводная, а потом в сводной считала ЧСТРОК. Но ведь каждый раз неудобно делать. Можно ошибиться.

То есть при этих условиях 1),2),3),4) должно получаться в моем запросе 1288.
Эта таблица сводная была сделана на основе того файла, что я Вам выслала.

Если не будешь проще писать, я это не буду читать.

В файле десятки функций. Я не понимаю, что я должен сделать, чтобы увидеть неправильную работу какой либо функции? Функция test17 работает правильно - выдает в Immediate - 0
...
Рейтинг: 0 / 0
SQL и VBA
    #37292219
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Должно в запросе получаться 967.
если ссылаться на тот файл, который я вам выслала.
По полю Номер КЗ кол-во 1067, а неповоряющихся Номеров КЗ 967

Это при условии:
1)
По полю Дата Регестрации >1/1/2011 и <1/1/2012
2)
По полю Дата Cобытия >1/1/2011 и <1/1/2012
3)
segment вид UNIQA=Сasco
4)
Cчитать по полю кол-во неповторяющихся Номер КЗ
...
Рейтинг: 0 / 0
SQL и VBA
    #37292275
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где функция, которая выполняет запрос?
...
Рейтинг: 0 / 0
SQL и VBA
    #37292351
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VikVikVikShocker.Pro,
Должно в запросе получаться 967.
если ссылаться на тот файл, который я вам выслала.
По полю Номер КЗ кол-во 1067, а неповоряющихся Номеров КЗ 967У меня присланный файл конвертром не открывается а 2007-го экселя у меня нет


VikVikVikЭто при условии:
1)
По полю Дата Регестрации >1/1/2011 и <1/1/2012
2)
По полю Дата Cобытия >1/1/2011 и <1/1/2012
3)
segment вид UNIQA=Сasco
4)
Cчитать по полю кол-во неповторяющихся Номер КЗВот функция, которая считает все правильно:
Код: 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.
Sub test17()
    
    
    Dim cnn As ADODB.Connection
    Dim rst As ADODB.Recordset
    Dim strSQL7 As String
    Dim strConnectionString As String
    Set cnn = New ADODB.Connection
    Set rst = New ADODB.Recordset
    
    strPath = "v:\2.xls"
    strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath & ";" & "Extended Properties=""Excel 8.0;IMEX=1"""
    cnn.Open strConnectionString
    
    strSQL7 = "select Count(*) from [Лист1$A3:AM65000] " + _
              "WHERE [segment вид UNIQA] = 'Casco' " + _
              "and [Дата подiї]>= #1/1/2011# and [Дата реєстрацiї]>= #1/1/2011# " + _
              "and [Дата подiї]< #1/1/2012# and [Дата реєстрацiї]< #1/1/2012#"
    rst.Open strSQL7, cnn
    Debug.Print rst( 0 )
    rst.Close
    
    strSQL7 = "SELECT count(*) as kolvo from (select distinct [Номер КЗ] from [Лист1$A3:AM65000] " + _
              "WHERE [segment вид UNIQA] = 'Casco' " + _
              "and [Дата подiї]>= #1/1/2011# and [Дата реєстрацiї]>= #1/1/2011# " + _
              "and [Дата подiї]< #1/1/2012# and [Дата реєстрацiї]< #1/1/2012#)"
    rst.Open strSQL7, cnn
    Debug.Print rst( 0 )
    rst.Close
    
    cnn.Close
    Set rst = Nothing
    Set cnn = Nothing
    
End Sub
Которая правильно находит 9 записей с неуникальными [Номер КЗ] и 7 записей с уникальными [Номер КЗ] в приложенном файле
...
Рейтинг: 0 / 0
SQL и VBA
    #37293107
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

CПАСИБО!!! Хи-хи-хи!!! Ве работает
...
Рейтинг: 0 / 0
SQL и VBA
    #37293566
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Запрос работает, а вот функция пользовательская никак

Код: 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.
 
Function GetData17(strPath As String, strField1 As String, strOperator1 As String, strCriterion1 As String, strField2 As String, strOperator2 As String, strCriterion2 As String, strOperator4 As String, strCriterion4 As String, strField3 As String, strOperator3 As String, strCriterion3 As String, strOperator5 As String, strCriterion5 As String, strField5 As String) As Currency


    Dim cnn As ADODB.Connection
    Dim rst As ADODB.Recordset
    Set cnn = New ADODB.Connection
    Set rst = New ADODB.Recordset
    Dim strSQL7 As String
    
    
    Dim strConnectionString As String
    strConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strPath & ";" & "Extended Properties=""Excel 12.0 Xml;HDR=YES;IMEX=1"""
    cnn.Open strConnectionString
    
        
    '-----------------------------------------------------------------------------------------------------
    strSQL7 = "SELECT count(*) as kolvo from (select distinct [" & strField5 & "] from [Лист1$A3:AM65000] " + _
              "WHERE [" & strField1 & "] " & strOperator1 & " 'Casco' " + _
              "and [" & strField2 & "]" & strOperator2 & "#1/1/2011# and [" & strField2 & "] " & strOperator4 & "#1/1/2012# " + _
              "and [" & strField3 & "]   " & strOperator3 & "#1/1/2011# and [" & strField3 & "] " & strOperator5 & "#1/1/2012#)"
    rst.Open strSQL7, cnn
    Debug.Print rst( 0 )
    rst.Close
    cnn.Close
    '-----------------------------------------------------------------------------------------------------
    
    Set rst = Nothing
    Set cnn = Nothing
End Function


В ячейку вставляю:
=GetData17("W:\Actuaries\Vika\Report\выплаты\1.xlsm";"segment вид UNIQA";"=";A7;"Дата події";">=";$B$1;"<";$B$2;"Дата реєстрацiї ";">=";$B$3;"<";$B$4;"Номер КЗ")
пишет #ЗНАЧ
...
Рейтинг: 0 / 0
SQL и VBA
    #37293863
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И не пойму где ошибаюсь?
путь указан верно, параметры тоже вроде вставлены верно...
Бог его знает...
...
Рейтинг: 0 / 0
SQL и VBA
    #37293970
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VikVikVik,

перед строкой rst.Open strSQL7, cnn, поставьте распечатку скл-выражения в Immediate
Debug.Print strSQL7
и покажите ее здесь.
...
Рейтинг: 0 / 0
SQL и VBA
    #37294763
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mds_world,

Это то что Immediate

SELECT count(*) as kolvo from (select distinct [Номер КЗ] from [Лист1$A3:AM65000] WHERE [segment вид UNIQA] = 'Casco' and [Дата подiї]>=#1/1/2011# and [Дата подiї] <#1/1/2012# and [Дата реєстрацiї] >=#1/1/2011# and [Дата реєстрацiї] <#1/1/2012#)
967

Считает вроде все верно, а вот функция пользовательская(см выше) не работает в листе


Код: 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.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
 '==================================================КОЛ_ВО=========================
Sub test17()
  
    Dim cnn As ADODB.Connection
    Dim rst As ADODB.Recordset
    Dim strSQL7 As String
    Dim strConnectionString As String
    Set cnn = New ADODB.Connection
    Set rst = New ADODB.Recordset
    Dim strPath As String
    
    Dim strCriterion1 As String
    Dim strCriterion2 As String
    Dim strCriterion3 As String
    Dim strCriterion4 As String
    Dim strCriterion5 As String
    
    Dim strField1 As String
    Dim strField2 As String
    Dim strField3 As String
    Dim strField4 As String
    Dim strField5 As String
        
    Dim strRange As String
    
    Dim strOperator1 As String
    Dim strOperator2 As String
    Dim strOperator3 As String
    
    Dim strOperator4 As String
    Dim strOperator5 As String
    
    Dim x7 As Currency

    strOperator1 = "="
    strOperator2 = ">="
    strOperator3 = ">="
    strOperator4 = "<"
    strOperator5 = "<"
    
    strField1 = "segment вид UNIQA"
    strField2 = "Дата подiї"
    strField3 = "Дата реєстрацiї"
    strField4 = "Сума"
    strField5 = "Номер КЗ"
    
   
    strPath = "W:\Actuaries\Vika\Report\1.xlsm"

   ' для 2003 Excel
   ' strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strPath & ";" & "Extended Properties=""Excel 8.0;IMEX=1"""
   ' cnn.Open strConnectionString
    
    ' для 2007 Excel
    strConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strPath & ";" & "Extended Properties=""Excel 12.0 Xml;HDR=YES;IMEX=1"""
    cnn.Open strConnectionString
    
    '=======================================================================================================
    'ЗАПРОС считает количество номеров КЗ
    '------------------------------------------------------------------------------------------------------
    'strSQL7 = "select Count(*) from [Лист1$A3:AM65000] " + _
     '         "WHERE [segment вид UNIQA] = 'Casco' " + _
     '         "and [Дата подiї]>= #1/1/2011# and [Дата реєстрацiї]>= #1/1/2011# " + _
     '         "and [Дата подiї]< #1/1/2012# and [Дата реєстрацiї]< #1/1/2012#"
   ' rst.Open strSQL7, cnn
   ' Debug.Print rst(0)
   ' rst.Close
    
    '====================================================================================================
    'ЗАПРОС считает неповторяющие номера КЗ
    '-----------------------------------------------------------------------------------------------------
    strSQL7 = "SELECT count(*) as kolvo from (select distinct [" & strField5 & "] from [Лист1$A3:AM65000] " + _
              "WHERE [" & strField1 & "] " & strOperator1 & " 'Casco' " + _
              "and [" & strField2 & "]" & strOperator2 & "#1/1/2011# and [" & strField2 & "] " & strOperator4 & "#1/1/2012# " + _
              "and [" & strField3 & "]   " & strOperator3 & "#1/1/2011# and [" & strField3 & "] " & strOperator5 & "#1/1/2012#)"
              
              Debug.Print strSQL7

    rst.Open strSQL7, cnn
    Debug.Print rst( 0 )
    rst.Close
    cnn.Close
    '=====================================================================================================
    
    Set rst = Nothing
    Set cnn = Nothing
    
End Sub
...
Рейтинг: 0 / 0
SQL и VBA
    #37296009
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну а если функцию вызвать в immediate со всеми параметрами такими же, как на листе?
...
Рейтинг: 0 / 0
SQL и VBA
    #37296868
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[spoiler]Так прошёл месяц.[/spolier]

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
SQL и VBA
    #37296875
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...а автор так и не разобрался, что такое "отладка программы"
...
Рейтинг: 0 / 0
25 сообщений из 107, страница 4 из 5
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / SQL и VBA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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