![]() |
![]() |
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 | Можешь не отвечать, уже все получилось. Спасибо за помощь :) |