Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / -1 / 0
Регистрация: 15.06.2017
Сообщений: 122

Поиск по recordset

31.07.2018, 15:59. Показов 923. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Проблема с тем что у меня не работает поиск в функции именно єти две строки
Visual Basic
1
2
key = wsTeacherRs![teacherNumber]
        dbTeacherRs.FindFirst key
Вот функции:
Visual Basic
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
Private Function teacherHandler(fname As String)
    Dim wsTeacherRs As Recordset
    Dim dbTeacherRs As Recordset
    Dim db As Database
    Dim wsRecordCount As Long
    Dim dbRecordCount As Long
    Dim m As Long
    Set wsTeacherRs = getTableData("teachers", fname)
    Set db = CurrentDb
    Set dbTeacherRs = db.OpenRecordset("teachers", dbOpenTable)
    dbTeacherRs.MoveLast
    wsTeacherRs.MoveLast
    wsRecordCount = wsTeacherRs.RecordCount
    dbRecordCounr = dbTeacherRs.RecordCount
    dbTeacherRs.MoveFirst
    wsTeacherRs.MoveFirst
 
    If wsRecordCount = 0 Then
        m = MsgBox("", vbCritical, "")
        GoTo teacherHandlerEnd
    End If
    If wsRecordCount <> dbRecordCoutn Then
    Else
    End If
    Dim key As String
    Dim str As String
    Do Until wsTeacherRs.EOF
        key = wsTeacherRs![teacherNumber]
        dbTeacherRs.FindFirst key
        If dbTeacherRs.NoMatch Then
            'no match in db. New record
            GoTo nextCyleStep
        End If
        
        If (wsTeacherRs![secondName]) = (dbTeacherRs![secondName]) Or (wsTeacherRs![patronymicName]) = (dbTeacherRs![patronymicName]) Or (wsTeacherRs![firstName]) = (dbTeacherRs![firstName]) Then
            GoTo nextCyleStep
        Else
            If (wsTeacherRs![secondName]) = (dbTeacherRs![secondName]) Then
                If (wsTeacherRs![patronymicName]) = (dbTeacherRs![patronymicName]) Then
                Else
                End If
            Else
                wsTeacherRs.Edit
                wsTeacherRs![secondName] = dbTeachersRs![secondName]
            End If
        End If
nextCyleStep:
        wsTeacherRs.MoveNext
    Loop
teacherHandlerEnd:
End Function
 
Function getTableData(Optional strTableName As Variant, Optional strPathDB As Variant) As Recordset
    On Error GoTo Err_getTableData
    Dim db As Database
    Dim rs As Recordset
    Dim lngRecordCount As Long
    Dim fldField As Field
    Dim m As Long
    If IsMissing(strPathDB) Then
    Else
        Set db = OpenDatabase(strPathDB)
    End If
 
If IsMissing(strTableName) Then
Else
    Set rs = db.OpenRecordset(strTableName, dbOpenTable)
    If rs.RecordCount <> 0 Then
        rs.MoveLast
        lngRecordCount = rs.RecordCount
        rs.MoveFirst
        Set getTableData = rs
    End If
End If
 
    'rs.Close
    'db.Close
Exit_Cycle01_9:
    Exit Function
Err_getTableData:
    MsgBox Err.Description
    Resume Exit_Cycle01_9
End Function
Вот база в которой код Вложение 956550 она синхронизируется с этой Вложение 956551
В первой базе нажимаете нижнею кнопку "отчеты по контрагентамx"

Добавлено через 5 минут
Ток там надо будет в осн базе заполнить табл учителей немного, она пустая (таблица пустая)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.07.2018, 15:59
Ответы с готовыми решениями:

Передать в recordset результат SQL на основе другого recordset
Начнём с того, что пытаюсь я эту штуку сделать в Excel на ADODB. Поэтому раздел форума должен быть правильный. Задача - собрать данные...

Редактирование поля: Recordset.edit recordset.Fields('поле') = Text1.text Recordset.update
Есть Recordset базы mdb, некоторые поля в базе пустые. Т.е. Recordset.Fields ('поле') возвращает Null. Когда пытаюсь отредактировать запись...

Проблемы с кодом Recordset.AddNew() Recordset(0) = '01/02/2002' Recordset.Update()
Recordset.AddNew() Recordset(0) = '01/02/2002' Recordset.Update() //----------дает результат 1 февраля 2002 Recordset.AddNew() ...

3
Мы один, давай на "ты"
3853 / 1396 / 346
Регистрация: 16.06.2016
Сообщений: 3,294
31.07.2018, 18:22
Цитата Сообщение от meref Посмотреть сообщение
Visual Basic
1
2
3
...
dbTeacherRs.FindFirst key
...
Recordset.FindFirst Method (DAO)
0
0 / -1 / 0
Регистрация: 15.06.2017
Сообщений: 122
31.07.2018, 18:55  [ТС]
Уважаемый Пангур, может вы намекаете что нужно писать также как и в предложении WHERE только без этого слова? Попробую.

Добавлено через 23 минуты
Ну пока не получилось. Вот что я сделал
Visual Basic
1
key = "[teachers].[teacherNumber] = '" & wsTeacherRs![teacherNumber] & "'"
0
0 / -1 / 0
Регистрация: 15.06.2017
Сообщений: 122
01.08.2018, 12:29  [ТС]
Я решил проблему поменяв эту строку
Цитата Сообщение от meref Посмотреть сообщение
Set dbTeacherRs = db.OpenRecordset("teachers", dbOpenTable)
на эту
Visual Basic
1
Set dbTeacherRs = db.OpenRecordset("teachers", dbOpenDynaset)
Добавлено через 33 секунды
Ну почему нельзя поставить что твой ответ - лутший
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.08.2018, 12:29
Помогаю со студенческими работами здесь

Не работает поиск в Recordset, метод Find
Господа программисты, возникла вот какая проблема: В ДAO рaбoтaет RS.FindFirst 'len(trim(KODKEY)) &lt; 3' пo aнaлoгии пытaюсь...

Как осуществить поиск в RecordSet по трем критериям?
Мне нужно найти строку в рекордсете по трем критериям. Find насколько я знаю не годится. Есть метод Filter. А ситаксис не знаю. Вернее...

Recordset method Find. Поиск по нескольким условиям
Привет, All! Опять я с проблемой, не получается без нее приходить... Кто использовал метод Find объекта Recordset? Вопрос может и...

Разница между recordset.cancel и recordset.cancelupdate
Здравствуйте! Если есть какая-либо инфорация по поводу вышеназванных методов объекта Recordset в ADO - поделитесь Заранее благодарен

Поиск в Recordset, метод Find (имя поля LIKE '%любой тип данных%')
Господа программисты, возникла вот какая проблема: есть набор записей (Recordset), в нём необходимо производить не точный поиск (имя поля...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru