Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6 7 8   вперед  Ctrl      все
 Re: TreeView для MS Office 64 bit  [new]
alex999kon
Member

Откуда: Россия Иваново
Сообщений: 4250
Программист-Любитель
Фаиндом nCount пошукай по проекту. Ну и компил должен выдавать строку, где ошибка.

Они тоже у меня всегда лонги были.


имеешь ввиду посиком, если да то уже давно ищу
7 май 13, 16:32    [14269043]     Ответить | Цитировать Сообщить модератору
 Re: TreeView для MS Office 64 bit  [new]
alex999kon
Member

Откуда: Россия Иваново
Сообщений: 4250
имеешь ввиду посиком - ПОИСКОМ, если да то уже давно ищу
7 май 13, 16:33    [14269055]     Ответить | Цитировать Сообщить модератору
 Re: TreeView для MS Office 64 bit  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16828
И что, фаиндом по всему проекту можно не найти конкретное имя переменной ? Поделись секретом, как.
7 май 13, 16:46    [14269173]     Ответить | Цитировать Сообщить модератору
 Re: TreeView для MS Office 64 bit  [new]
alex999kon
Member

Откуда: Россия Иваново
Сообщений: 4250
Программист-Любитель,

ну какбы и не смешно совсем, просто CtrlF действует почему то не на весь модуль а только на активный, несколько заблудился видать...
7 май 13, 16:48    [14269201]     Ответить | Цитировать Сообщить модератору
 Re: TreeView для MS Office 64 bit  [new]
alex999kon
Member

Откуда: Россия Иваново
Сообщений: 4250
Программист-Любитель,

у меня как то вот так при Compile с последующим поиском получается (выделяет желтым)

К сообщению приложен файл. Размер - 43Kb
7 май 13, 16:50    [14269212]     Ответить | Цитировать Сообщить модератору
 Re: TreeView для MS Office 64 bit  [new]
qwerty112
Guest
alex999kon
Программист-Любитель,

ну какбы и не смешно совсем, просто CtrlF действует почему то не на весь модуль а только на активный, несколько заблудился видать...

вот, на твоём же рисунке видно, - есть переключатель "Где искать" (Search)
выбери "Current Project"
7 май 13, 16:56    [14269275]     Ответить | Цитировать Сообщить модератору
 Re: TreeView для MS Office 64 bit  [new]
alex999kon
Member

Откуда: Россия Иваново
Сообщений: 4250
нашел!!!!!!!!!!

Public Function OpenRecordset _
( _
rs As ADODB.Recordset, _
nRecords As LongPtr, _
sSQL As String, _
Optional cnn = Null, _
Optional sServerName As String = "", _
Optional sDatabaseName As String = "", _
Optional iCommandTimeout As Integer = 800 _
)

а
Dim nCount As Long: nCount = -1
Dim sSQL As String: sSQL = "SELECT * FROM qrNodeElement WHERE iElementID=" & Me.iElementID
Dim rs As ADODB.Recordset


но почему то замена Long на LongPtr выдает ошибку при компиле
7 май 13, 16:57    [14269279]     Ответить | Цитировать Сообщить модератору
 Re: TreeView для MS Office 64 bit  [new]
cylindr
Member

Откуда:
Сообщений: 320
alex999kon,

Вы принципиально не пользуетесь тэгами в оформлении сообщений? Ваш код очень трудно читать.
8 май 13, 03:16    [14271021]     Ответить | Цитировать Сообщить модератору
 Re: TreeView для MS Office 64 bit  [new]
alex999kon
Member

Откуда: Россия Иваново
Сообщений: 4250
cylindr
alex999kon,

Вы принципиально не пользуетесь тэгами в оформлении сообщений? Ваш код очень трудно читать.


извиняюсь!! действительно не обучен этому...

тем более что в самом аксе также все и выглядит, поэтому опасаясь испортить привычный вид не трогаю...
8 май 13, 08:22    [14271179]     Ответить | Цитировать Сообщить модератору
 Re: TreeView для MS Office 64 bit  [new]
П-Л
Guest
У ошибки есть текст ?

Может лучше бы на Variant было бы переделать ? А то по хелпу нет полной ясности, когда LongLong, когда LongPtr, надо пробовать, а 64 бит у меня нету.

Ну и с тегами отмазка совсем гнилая. Еще б и в спойлер убирать, чтобы скроллировать поменьше надо было.
8 май 13, 09:02    [14271258]     Ответить | Цитировать Сообщить модератору
 Re: TreeView для MS Office 64 bit  [new]
ЫLL HEAD
Member [заблокирован]

Откуда: Сибирь
Сообщений: 695
alex999kon
тем более что в самом аксе также все и выглядит, поэтому опасаясь испортить привычный вид не трогаю...
я в шоке
8 май 13, 09:11    [14271293]     Ответить | Цитировать Сообщить модератору
 Re: TreeView для MS Office 64 bit  [new]
alex999kon
Member

Откуда: Россия Иваново
Сообщений: 4250
ПЛ, я тебя понял, буду пробовать, по ркезультату отпишусь...

насчет тэгов - не уверен что это главное , тем более при поиске правильности в нашей теме... как то вот так
8 май 13, 10:42    [14271920]     Ответить | Цитировать Сообщить модератору
 Re: TreeView для MS Office 64 bit  [new]
cylindr
Member

Откуда:
Сообщений: 320
alex999kon
при поиске правильности в нашей теме.


Здесь вы не правы, это не только ваша тема. Есть и другие люди, которым интересно.
8 май 13, 12:22    [14272831]     Ответить | Цитировать Сообщить модератору
 Re: TreeView для MS Office 64 bit  [new]
alex999kon
Member

Откуда: Россия Иваново
Сообщений: 4250
cylindr,

не спорю, просто говорю то что инетерсно МНЕ, а если есть и ДРУГИЕ темы, то милости просим, кто же против то...

тем более здесь на ФОРУМЕ!!!!
8 май 13, 15:07    [14274219]     Ответить | Цитировать Сообщить модератору
 Re: TreeView для MS Office 64 bit  [new]
Изерлонер
Member

Откуда: СФО
Сообщений: 1269
Программист-Любитель,

я попытался использовать твой модуль с быстрым поиском по тексту в своей базе... ну в общем получилось частично. Вот эта функция работает безупречно:
Private Sub fldFindBuh_Change()
    Dim s As String: s = Me.fldFindBuh.Text
    Dim bRes As Boolean
    
    If Len(Trim(Nz(s, ""))) = 0 Then
        Me.btnFindBuh.Enabled = False
    Else
        Me.btnFindBuh.Enabled = True
        bRes = modPattern.FindPattern( _
            Me.subElement_Buh.Form.RecordsetClone, Me.subElement_Buh.Form, _
            s, "strName", "iKOD", "strName", True, False _
        )
    End If

End Sub


А вот здесь проблема:
Private Sub fldFind_Change()
    Dim s As String: s = Me.fldFind.Text
    Dim bRes As Boolean
    
    If Len(Trim(Nz(s, ""))) = 0 Then
        Me.btnFind.Enabled = False
    Else
        Me.btnFind.Enabled = True
        bRes = modPattern.FindPatternArray( _
            Me.subElement.Form.RecordsetClone, Me.subElement.Form, _
            s, Array( _
            "strElementName;strElementDescription;strElementStandart" _
        ))
    End If
По началу долго не мог запустить процедуру - выдавала ошибки, сейчас уже не вспомню какие, либо просто ничего не находила и ставила курсор на первую запись, текущий вариант работает... но поиск производится только по первому столбцу из списка (в этом варианте strElementName), а фокус почему то выставляется на последний столбец (здесь strElementStandart). При этом поиск по другим столбцам, кроме первого, не производится вообще. Может я что-то делаю не так?
12 май 13, 07:29    [14283323]     Ответить | Цитировать Сообщить модератору
 Re: TreeView для MS Office 64 bit  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16828
Наверняка неправильно указаны аргументы при вызове функции. Поиск расчитан как на обычные поля так и на комбо-лукапы. Если простое поле, то проблем нет - в нем нашли образец, на него же встали. В случае комбо ищется по некоему текстовому полю (его может не быть на форме), а встаем фокусом на айди, сделанный в виде комбобокса. Отсюда необъодимость задавать такой массив строк.
Каждый элемент массива - строка для поиска по одному из полей. Содержит три имени поля, разделенный ;
Первое имя поля - поле где ищем.
Второе - имя ПК поля для синхронизации рекордсетов. (Аксиома: все ПК - автосчетчики, ПК из ОДНОГО поля)
Треье поле - куда встаем фокусом.

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

У тебя в коде:
Array("strElementName;strElementDescription;strElementStandart"...
скорее всего ПК в наборе данных не strElementDescription.

Попробуй задать параметры функции правильно.
12 май 13, 10:20    [14283383]     Ответить | Цитировать Сообщить модератору
 Re: TreeView для MS Office 64 bit  [new]
Изерлонер
Member

Откуда: СФО
Сообщений: 1269
Программист-Любитель
Каждый элемент массива - строка для поиска по одному из полей. Содержит три имени поля, разделенный ;


Теперь дошло.
Private Sub fldFind_Change()
    Dim s As String: s = Me.fldFind.Text
    Dim bRes As Boolean
    
    If Len(Trim(Nz(s, ""))) = 0 Then
        Me.btnFind.Enabled = False
    Else
        Me.btnFind.Enabled = True
        bRes = modPattern.FindPatternArray( _
            Me.subElement.Form.RecordsetClone, Me.subElement.Form, _
            s, Array( _
            "strElementName;iElementID;strElementName", _
            "strElementDescription;iElementID;strElementDescription", _
            "strElementStandart;iElementID;strElementStandart" _
            ))
    End If

End Sub

Все работает корректно :)
12 май 13, 10:40    [14283411]     Ответить | Цитировать Сообщить модератору
 Re: TreeView для MS Office 64 bit  [new]
alex999kon
Member

Откуда: Россия Иваново
Сообщений: 4250
интересная вещь получается:

заменил nCount As Long: на nCount As LongLong:по всему модулю, сжал восстановил, вот что выдало (переменную nRecords) пока не трогал, вот скрин по запуску

К сообщению приложен файл. Размер - 33Kb
13 май 13, 09:44    [14285905]     Ответить | Цитировать Сообщить модератору
 Re: TreeView для MS Office 64 bit  [new]
alex999kon
Member

Откуда: Россия Иваново
Сообщений: 4250
т.е. запуск ТрииВью начался, просто где то ошибка из-за несоответствия типов данных в новом аксе...
13 май 13, 09:45    [14285908]     Ответить | Цитировать Сообщить модератору
 Re: TreeView для MS Office 64 bit  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16828
Трассировать надо. Смотреть, где в 64 битном аксесе затыкается. Там код очень простой, надо поставить брейкпоинт на начало загрузки данных, чтобы гаранитировано попасть в код до ошибки.

С этими непонятными лонгами я бы лучше вариант тип данных сделал. nRecords и nCount должны быть обязательно одного типа.
13 май 13, 09:52    [14285944]     Ответить | Цитировать Сообщить модератору
 Re: TreeView для MS Office 64 bit  [new]
alex999kon
Member

Откуда: Россия Иваново
Сообщений: 4250
спасибо, будем копать...

только помоги (чтоб не ошибиться), как поставить точку останова брэкпоинт (вообще тема известная по другим отладчикам, в аксе пока не сталкивался...) не сочти за что-то нехорошее с моей стороны...
13 май 13, 09:55    [14285963]     Ответить | Цитировать Сообщить модератору
 Re: TreeView для MS Office 64 bit  [new]
alex999kon
Member

Откуда: Россия Иваново
Сообщений: 4250
пока вот что нашел:

nRecords As LongPtr, причем в нескольких местах, теперь не знаю что лучше сделать чтобы одинаковые типы данных были, что лучше сделать LongLong или LongPtr
13 май 13, 09:57    [14285982]     Ответить | Цитировать Сообщить модератору
 Re: TreeView для MS Office 64 bit  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16828
Купи книжку по аксесу и прочитай. Писать такие основы на форуме вряд ли хоть кто-то будет.
13 май 13, 09:57    [14285984]     Ответить | Цитировать Сообщить модератору
 Re: TreeView для MS Office 64 bit  [new]
qwerty112
Guest
alex999kon
спасибо, будем копать...

только помоги (чтоб не ошибиться), как поставить точку останова брэкпоинт (вообще тема известная по другим отладчикам, в аксе пока не сталкивался...) не сочти за что-то нехорошее с моей стороны...

кнопку Debug, для начала, нажми, и посмотри на какую строку кода "выкинет"
нуу и тут можешь показать
13 май 13, 09:58    [14285990]     Ответить | Цитировать Сообщить модератору
 Re: TreeView для MS Office 64 bit  [new]
alex999kon
Member

Откуда: Россия Иваново
Сообщений: 4250
Debug Compile я делаю, получаю место и описание ошибки, думалось что как в отладчике TurboDubugger можно поставить точки останова с выводом результатов на точку, видать ошибался....

спасибо за Совет, так конечно же я делаю, тем более куда ж деваться то, если при запуске при ошибке автоматом попадаю в отладку акса....

извини за кривость изложения...
13 май 13, 10:02    [14286017]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6 7 8   вперед  Ctrl      все
Все форумы / Microsoft Access Ответить