К списку форумов К списку вопросов
VBA для Access
rash
21.04.2004 - 16:05
Как с помощью VBA создать новую запись в таблице?
Sergini
1 - 22.04.2004 - 08:34
А справка для чего?
Следующая программа использует метод AddNew для создания новой записи с указанными данными. Для выполнения этой процедуры требуется функция AddName.
Sub AddNewX()
  Dim dbsNorthwind As Database
  Dim rstEmployees As Recordset
  Dim strFirstName As String
  Dim strLastName As String
  Set dbsNorthwind = OpenDatabase("Борей.mdb")
  Set rstEmployees = _
    dbsNorthwind.OpenRecordset("Сотрудники", dbOpenDynaset)
  ' Принимает данные от пользователя.
  strFirstName = Trim(InputBox( _
    "Введите имя:"))
  strLastName = Trim(InputBox( _
    "Введите фамилию:"))
  ' Продолжает выполнение, только если пользователь ввел
' данные для имени и фамилии.
  If strFirstName <> "" and strLastName <> "" Then
    ' Вызывает функцию, добавляющую запись.
    AddName rstEmployees, strFirstName, strLastName
    ' Отображает добавленные данные.
    With rstEmployees
      Debug.Print "Новая запись: " & !Имя & _
        " " & !Фамилия
      ' Удаляет новую запись, созданную только для демонстрации.
      .Delete
    End With
  Else
    Debug.Print _
      "Необходимо ввести строки для имени и фамилии!"
End If
  rstEmployees.Close
  dbsNorthwind.Close
End Sub
Function AddName(rstTemp As Recordset, _
  strFirst As String, strLast As String)
  ' Добавляет новую запись в объект Recordset, используя данные,
  ' переданные вызывающей процедурой. Затем новая запись
  ' делается текущей записью.
  With rstTemp
    .AddNew
    !Имя = strFirst
    !Фамилия = strLast
    .Update
    .Bookmark = .LastModified
  End With
End Function
rash
2 - 22.04.2004 - 10:02
Спасибо. Это получилось, но появилась новая проблема. Сделала свободное поле в форме, ввожу туда данные, а модуль эти данные почему-то не видит. Выдается сообщение, что значение = Null. Что делать?
Sergini
3 - 22.04.2004 - 10:21
Rash то о чём ты пишешь- это на самом деле не проблема. Но отвечать на твои вопросы как минимум не интересно. Почитай книги по Access. Или скачай готовые программы из интернет(их валом и при этом каждая вторая имеет ответы на твои вопросы).
rash
4 - 22.04.2004 - 11:07
У меня куча книг, но то что надо я никак не могу найти. Такое впечатление, что они пишут для людей хорошо разбирающихся в этом, а не для новичков. Последний вопрос: я использовала функцию join, чтобы соединить 2 строки, но они выдаются через пробел, как его убрать?
Sergini
5 - 22.04.2004 - 11:21
Не понятно что выдаётся через пробел? А вообще для удаления пробелов используются функции trim, rtrim, ltrim.
rash
6 - 22.04.2004 - 11:35
Не получается. Я объединяю две строки в одну. Получается, например, res 100, а мне нужно res100
Sergini
7 - 22.04.2004 - 12:32
Делай trim до их объединения в одну. Или если так не понимаешь, то делай так:
Left(Строка, InStr(Rez, " ") - 1) & mID(Строка, InStr(Строка, " ") + 1)
rash
8 - 22.04.2004 - 12:54
Что вместо Rez писать?
rash
9 - 22.04.2004 - 13:39
Можешь не отвечать, уже все получилось. Спасибо за помощь :)

К списку вопросов на форуме Программирование

>>