powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Фильтрация в Vba
13 сообщений из 88, страница 4 из 4
Фильтрация в Vba
    #37646275
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: VikVikVik
> так и так у меня тип Критярия стоит строка

И что, что строка? Строка - это просто тип данных, который может содержать переменная, не более того. По умолчанию такие
переменные содержат пустую строку. В запросе строка "заворачивается" в одинарные кавычки.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Фильтрация в Vba
    #37646338
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос,

Спасибо)) в дебаге все считает. А вот в листе все никак

=Avans("C:\Documents and Settings\vgorokh\Рабочий стол\АВАНС\аванс.xlsm"; "Сумма"; "Счет Б";"="; C2)
пишет value
...
Рейтинг: 0 / 0
Фильтрация в Vba
    #37646354
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос,


Вот к примеру
...
Рейтинг: 0 / 0
Фильтрация в Vba
    #37646415
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос,
СПАСИБО ВСЕ ПОЛУЧИЛОСЬ
Хочу узнать такой вопрос. (я точно знаю, что ето возможно так как делала когдато)
Какие свойства нужно включать и какой кусок кода можно написать, что бы моя пользовательская функция была видна во всех книгах при открытии Excel.
Спасибо :)
...
Рейтинг: 0 / 0
Фильтрация в Vba
    #37646489
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: VikVikVik
> Игорь Горбонос,
> СПАСИБО ВСЕ ПОЛУЧИЛОСЬ

Хм, а у меня нет :)

> Какие свойства нужно включать и какой кусок кода можно написать, что бы моя пользовательская функция была видна
> во всех книгах при открытии Excel.

Нужно положить его в личную книгу макросов, которая находится в файле personal.xls(или каке там сейчас расширение) :)

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Фильтрация в Vba
    #37671071
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос,

Спасибо :)
Код: vbnet
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.
Sub test2()
    Dim cnn As ADODB.Connection
    Dim rst As ADODB.Recordset
    Set cnn = New ADODB.Connection
    Set rst = New ADODB.Recordset
    Dim strSQL As String

    Dim strCriterion1 As String
    Dim strCriterion2 As Integer
 
    Dim strField1 As String
    Dim strField2 As String
    Dim strRange As String
    Dim strPath As String
    
    Dim strOperator1 As String
    Dim strOperator2 As String


    Dim x1 As Integer
    '--------------------------------------------------------------------------------------------------'
    strOperator1 = "="
    strOperator2 = ">"

    strField1 = "Счет А"
    strField2 = "Сумма"
   
    
    strCriterion1 = "29096010605907"
    strCriterion2 = 120
    
    strPath = "C:\Documents and Settings\vgorokh\Рабочий стол\АВАНС\Взаиморасчет.xls"
    strRange = "" 
    
    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
   
        
        strSQL = "SELECT Sum([" & strField2 & "]) FROM [распределено$A1:h15000] " & _
                "WHERE [" & strField1 & "]" & strOperator1 & "'" & strCriterion1 _
                & "' and [" & strField2 & "]" & strOperator2 & "'" & strCriterion2 & "'"

      Debug.Print strSQL
      
    rst.Open strSQL, cnn
    
    
    x1 = rst.Fields(0)
    
    Debug.Print strSQL
    Debug.Print x1
    rst.Close
    cnn.Close
    Set rst = Nothing
    Set cnn = Nothing
    
End Sub
...
Рейтинг: 0 / 0
Фильтрация в Vba
    #37671075
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь ГорбоносПодскажите где в типах ошибаюсь....
выводит Data type mismatch in criteria expression
...
Рейтинг: 0 / 0
Фильтрация в Vba
    #37671098
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: VikVikVik
> Игорь ГорбоносПодскажите где в типах ошибаюсь....
> выводит Data type mismatch in criteria expression

strCriterion2 = это число, соответственно в запросе эта часть условия должна выглядеть так:
Код: sql
1.
... and [Сумма]>120

и сравни как она у тебя выглядит.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Фильтрация в Vba
    #37671118
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос,даже если так то все равно выводит ту же ошибку. в критерии 2 ставлю дабл, но выводит все то же
:(

Код: vbnet
1.
2.
3.
        strSQL = "SELECT Sum([" & strField2 & "]) FROM [распределено$A1:h15000] " & _
                "WHERE [" & strField1 & "]" & strOperator1 & "'" & strCriterion1 _
                & "' and [" & strField2 & "]" & strOperator2 & "" & strCriterion2 & ""
...
Рейтинг: 0 / 0
Фильтрация в Vba
    #37671127
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос,

спасибо )) все нашла в х1 надо было дабл поставить)))
...
Рейтинг: 0 / 0
Фильтрация в Vba
    #37671132
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос,
нет когда снимаю коментарии с условия вере то вновь не верно(((
...
Рейтинг: 0 / 0
Фильтрация в Vba
    #37671146
VikVikVik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос,

вот не могу понять почему не ладиться с типами данных. проблема по моему только в них
...
Рейтинг: 0 / 0
Фильтрация в Vba
    #37671429
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: VikVikVik
> Игорь Горбонос,
> вот не могу понять почему не ладиться с типами данных. проблема по моему только в них

Потому, что нужно было переписать запрос так:
Код: vbnet
1.
strSQL = "SELECT * FROM [распределено$A1:h15000] "

,
выполнить его и посмотреть какого типа в рекордсете поля, и там было-бы видно, что field номер 2 имеет тип adDouble и
имя "Счет А", хотя аналогичное поле с именем "Счет Б" имеет тип adWarChar. После чего переходим в файл и смотрим формат
ячеек в столбце "Счет А", а он там "числовой". Поэтому вылетает с ошибкой, в условии номер счета идет как текстовый, а
сам столбец имеет тип дабл, вот на это несоответствие и ругается.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13 сообщений из 88, страница 4 из 4
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Фильтрация в Vba
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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