Вопрос по rs.update

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
dimalib
Обычный пользователь
Обычный пользователь
 
Сообщения: 58
Зарегистрирован: 08.12.2003 (Пн) 8:03

Вопрос по rs.update

Сообщение dimalib » 21.01.2004 (Ср) 8:20

Привет. В общем я начинающий и у меня вопрос такой.
Можно ли заменит эту писанину чем то по проще?
rs.Edit
rs("n") = N.Text
rs("ns") = NS.Text
rs("k") = K.Text
rs("kp") = KP.Text
rs("pa") = PA.Text
rs("tp") = TP.Text
rs("kco") = KCO.Text
rs("01-1") = Text1.Text
rs("01-2") = Text2.Text
rs("01-3") = Text3.Text
rs("01-4") = Text4.Text
rs("01-5") = Text5.Text
rs("01-6") = Text6.Text
rs("01-7") = Text7.Text
rs("01-8") = Text8.Text
rs("01-9") = Text9.Text
rs("01-10") = Text10.Text
rs.Update
rs.Bookmark = rs.LastModified
MsgBox "Запись сохранена ", vbInformation, Caption :shock:

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 21.01.2004 (Ср) 9:31

Предпложим что сделать можно так:

Код: Выделить всё
for each ctl in me.controls
if typeof ctl is textbox then
select case len(ctl.name)
case 5,6
rs("01-" & right(st, len(ctl.name)-4)) = ctl.text
case else
rs(ctl.name)=ctl.text
end select
end if
next ctl




Оговорюсь, что данный пример предполагает что нету других текстбоксов на форме. Если есть - то придется ввобдить дополнтельные ограничения.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 21.01.2004 (Ср) 10:47

Я бы предложил сделать следующим образом.
В каждом контроле, в котором вводятся данные в БД, заполнить свойство Tag в виде .Tag="fld:FieldName" (например, N.Tag="fld:N").
Затем использовать такой код:
Код: Выделить всё
Dim I As Long, F As String, V As Variant
rs.Edit
For I = 0 To Controls.Count-1
  If TypeOf Controls(I) Is TextBox Then
    F = Controls(I).Tag
    V = Controls(I).Text
  ElseIf TypeOf Controls(I) Is ComboBox Then
    F = Controls(I).Tag
    V = Controls(I).Text
  Else
    F = vbNullString
    V = Empty
  End If
  If Len(F) > 0 Then
    If Left$(F, 4) = "fld: " Then
      F = Mid$(F, 5)
    Else
      F = vbNullString
      V = Empty
    End If
  End If
  If Len(F) > 0 Then rs.Fields(F).Value = V
Next I
rs.Update
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList  
cron