Страница: 1 |
Или я чего-то не понимаю в этой жизни Как у тебя могут быть в рекорсете еще и другие записи, не отвечающие твоему условию? Если ты задал искать Иванова с номером 225, то тебе или ничего не вернется или вернется именно Иванов (Ивановы) с номером (номерами) 225. И удаляй себе первую же запись. Кстати а почему ты и число берешь в кавычки, у тебя что числа хранятся в ткстовых полях? А вообще я считаю, что работать надо без костылей в виде всевозможных дата контролов. Пользовался бы ADO или на худой конец DAO - проблемы такой не имел бы в принципе. > Кстати а почему ты и число берешь в кавычки, у тебя что числа хранятся в ткстовых полях? да нет, это я просто для примера написал. > Пользовался бы ADO или на худой конец DAO - проблемы такой не имел бы в принципе. Если не сложно, напиши кусок кода применительно к этому случаю. (Я с базами данных только недавно работать стал.) Примерно так: Dim Conn As New ADODB.Connection 2hedgehog : спасибо! Страница: 1 |
Вопрос: FindFirst - по несколким полям?
Добавлено: 26.04.03 07:38
Автор вопроса: Justas | Web-сайт:
как правильно организовать FindFirst - метод по несколким полям?
например в базе .mdb - таблица table1, там есть поля: pole1, pole2
использую элемент Data
надо:
1) найти методом FindFirst по несколким полям запись (pole1='иванов' AND pole2='225')
2) после того как нашёл, удалить запись.
Проблема в том, что запись-то я нахожу, но при этом указатель записи равен 0.
А если ищу по одному полю, то всё нормально. Указатель записи там где надо.
может я ишу неправильно? Вот кусок кода:
'*******
Dim a As String, test1 As String, test2 As String
test1 = "pole1='иванов'"
test2 = "pole2='255'"
a = Chr(34) & test1 & Chr(34) & " AND " & Chr(34) & test2 & Chr(34)
Data1.Recordset.FindFirst a
If Data1.Recordset.NoMatch Then 'здесь NoMatch=False
MsgBox "NoMatch"
Exit Sub
End If
Data1.Recordset.Delete
'*******
А при удалении удаляется 1_я запись, а не то чего нашёл...
Поможите люди добрые плиз.
P/S
удалять при помощи SQL- Delete не предлагать. Т.к. таких записей может быть несколько, а удалить надо первую найденную.
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
hedgehog
ICQ: 175571327
Вопросов: 15
Ответов: 207
Web-сайт:
Профиль | | #1
Добавлено: 27.04.03 00:35
Номер ответа: 2
Автор ответа:
Justas
ICQ: 259418212
Вопросов: 24
Ответов: 325
Web-сайт:
Профиль | | #2
Добавлено: 27.04.03 03:20
Номер ответа: 3
Автор ответа:
hedgehog
ICQ: 175571327
Вопросов: 15
Ответов: 207
Web-сайт:
Профиль | | #3
Добавлено: 28.04.03 12:47
Dim RS As New ADODB.Recordset
Conn.Open your_connection_string
RS.Open "SELECT * FROM table_name WHERE field1_name='" & string_value & "' AND field2_name=" & numeric_value, Conn, adOpenDynamic, adLockPessimistic
If Not RS.EOF Then
RS.Delete adAffectCurrent
RS.Update
End If
RS.Close
Set RS = Nothing
Set Conn = Nothing
Номер ответа: 4
Автор ответа:
Justas
ICQ: 259418212
Вопросов: 24
Ответов: 325
Web-сайт:
Профиль | | #4
Добавлено: 29.04.03 09:53