Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/14: Рейтинг темы: голосов - 14, средняя оценка - 4.79
0 / 0 / 1
Регистрация: 16.08.2007
Сообщений: 271

Як удалить и добавить записи в базу Access?

05.03.2008, 10:08. Показов 2998. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пышу я прогу в которой будет вестись статистика нашей компании - в частности данные на торговых представителей - Ф.И.О, Тел, Адрес, сектор - эта часть данных храниться в тэйбле 'TP'. Торговых можно удалять и добавлять и естественно с этим и все его телефоны и адрес и сектор и др... Соответственно я не спрашиваю как это добавлять потому что думаю это делается по аналогии с удалением (наверно) - а как само удаление делать? (жотя бы неплохо точно знать как и добавлять)

И еще - это очень важно - мне надо не просто обнулять строки а удалять из - что бы при последующей работе с базой пустышек небыло а следующая запись шла именно в конец базы - как точно настроить для этого базу - что нужно выставить где и какие галочки при ее создании тэйблов и фиелдов в них? как избежать ошибки при стирании записи - база говорит что эта ячейуа не хочет быть пустой и желает иметь в ней хотя бы пробел - а мне так не надо.

(понимаю что напрягаю - но ведь для этого половина людей и идёт на форум - что бы учить вторую половину (гм.... большую... и видимо далеко не половину))
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.03.2008, 10:08
Ответы с готовыми решениями:

Добавить картинку в базу Access
procedure TForm2.Button1Click(Sender: TObject); begin if not OpenPictureDialog1.Execute then exit; Form1.ADOTable1.Edit; ...

Добавление записи в базу данных Access
База данных-Access. Необходимо добавить запись в базу Clients(открывается по щелчку по кнопке Clients), желательно через TextBox(можно...

Через кнопку добавить столбец в базу Access
Нужно при нажатии на кнопку(Button) добавить столбец в саму базу Access вместе с данными. Напишите код кто знает, пожалуйста.

10
0 / 0 / 0
Регистрация: 27.11.2007
Сообщений: 60
05.03.2008, 14:50
Прочитал сообщение и стало как-то грустно и жалко парней из MicroSoft... Они, бедняги, надрываются, пишут эти огромные Help'ы к своим приложениям, а тот, для кого они это делают, даже не удосужится нажать на значок вопроса в панельке Access'a и выбрать нужный пункт... Грустно, если программист не додумается (или поленится) даже до этого... Легче найти готовый ответ на форуме, чем самому пошевелить серым веществом...
Удаляются записи из таблицы запросом вида : delete * from Таблица where Поле_Фамилии_Имени_Отчества = Фамилия Имя Отчество. После выполнения такого запроса все записи по данному сотруднику будут удалены из указанной таблицы. Никаких полей-пустышек не будет, просто запись перестанет существовать.
Добавление записи можно осуществить с помощью запроса вида : Insert into Таблица (Поле1, Поле2... и т.д.) values (значение1, значение2... и т.д.). Запись встанет ровненько в конец таблицы, разве только если она не проиндексирована. Если по добавлению записей ответ не удовлетворяет, то смотри хелп в Access'е - узнаешь много полезного...
Если хочешь заполнять/не заполнять поле по своему собственному желанию, то, загрузив в Access свою базу и щёлкнув на нужной таблице правой кнопкой мыши, выбери Конструктор. Затем щёлкай на нужном поле и внизу (там увидишь ряд параметров), напротив строки 'Обязательное поле' выбери 'Нет'. Вот и всё...
А для твоей же пользы рекомендую - потрать на это сколько угодно времени, но хотя бы ПОПРОБУЙ разобраться сам... Результат тебе самому понравится... :-)
Удачи
0
0 / 0 / 0
Регистрация: 04.03.2008
Сообщений: 250
05.03.2008, 14:56
Похоже, ты не внял моему совету ознакомиться с DAO и SQL. А между тем, библиотека DAO - единственно верный и самый эффективный способ работать с базами в формате mdb (есть ADO, но мспользовать его с mdb-файлом = стрелять из пушки по воробьям). По поводу добавления и удаления записей - все очень просто. У объекта Recordset для этого есть методы Delete, AddNew и Edit - соответственно, для удаления, добавления и редактирования записей. Recordset - это объект DAO, куда помещается набор записей, а отбирается этот набор записей обычно с помощью SQL.
Далее, по поводу обнуления строк - не надо их обнулять, надо их удалять. Но в файле удаленные записи все равно лежат до сжатия базы данных. И потом - нет никакой разницы в том, в каком порядке лежат записи в таблице, потому что работаем мы не с таблицами, а с наборами записей, полученными в результате SQL-запроса, а уж в нем мы задаем такую сортировку и критерии отбора, какие на данный момент нужны.
0
0 / 0 / 0
Регистрация: 08.10.2010
Сообщений: 16
08.10.2010, 22:43
Ado.RecordSource = 'DELETE FROM Общая WHERE Общая.Номер = ' & ingNom
Ado.Refresh
Ругаеться, кричит. А проблема то может в пустяке :-((((((((((((((((
0
0 / 0 / 0
Регистрация: 04.03.2008
Сообщений: 250
10.10.2010, 15:11
Никогда не пробовал присвоить команду удаления свойству RecordSource - наверное, потому он и ругается, и кричит. Там более уместен SELECT, а не DELETE. А для удаления больше подойдет объект ADODB.Command
0
Ferd
12.10.2010, 21:39
Не часто захожу в данное место, но иногда просто обиднго и грусно становиться за прочитаное. Во-первых почитайте Джеффри п. Мак-Манус 'Обработка баз данных на Visual Basic 6. Там все прекрасно описано, даже есть примеры.
0 / 0 / 0
Регистрация: 08.10.2010
Сообщений: 16
15.10.2010, 17:59
а эта книга где либо в онлайне есть??? Где ее почитать то можно???
0
0 / 0 / 0
Регистрация: 08.10.2010
Сообщений: 16
15.10.2010, 18:05
Еще вопрос один. При удплении строки данных (а первый столбец - это орядковые номерв) приходиться перещитывать их все заново.
Допустим 10 записей, а удалили 4-ю. И записи 5,6,7,8,9,10 должны стать записями 4,5,6,7,8,9
И так в 4-х столбцах.
Я в принципе сделал запрос на первые столбцы всех таблиц и програмно перещитываю.
Но может это можно сделать как либо попроще???
Если там будет 5000 строк, то интересно скока займет времени для кдаления 1-й???? :-)))
У кого либо есть соображения по этому поводу????
0
0 / 0 / 0
Регистрация: 04.03.2008
Сообщений: 250
17.10.2010, 15:39
Есть, как нет-то. Соображение первое - отказаться от номеров строк в БД вообще. Сама идея нумерации строк в таблице противоречит самой идее хранения данных. Наверняка порядковые номера не несут никакой полезной нагрузки, кроме как при выводе данных в отчет, так и надо формировать их только при выводе в отчет.
0
0 / 0 / 0
Регистрация: 08.10.2010
Сообщений: 16
18.10.2010, 12:35
по этим порядковым номерам весь поиск сотруднико произвожу, затем во всех таблицах с помощью SQL запроса
0
0 / 0 / 0
Регистрация: 04.03.2008
Сообщений: 250
18.10.2010, 13:22
Так тем более неверное решение. Какое-же это ключевое поле, если его значение меняется при удалении данных. Гарантирована путаница. Назначить этому полю тип 'счетчик', и проблема решена.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.10.2010, 13:22
Помогаю со студенческими работами здесь

Как добавить данные из list в базу Access
Прошу вашей помощи есть база в ней три таблицы Diary(id,Name,Body,Date,Status) Week (Id,week) Month (Id,Month) Ниже...

Как можно в проект VB добавить базу данных Access?
как можно в проект VB добавить базу данных Access?

Как с помощью Adodc добавить данные в базу access 2000?
Как с помощью Adodc добавить данные в базу access 2000? делаю так: Adodc1.Recordset.AddNew добавляю данные ...

Макрос на VBA, заносит в базу на Access случайно сгенерированные записи
Я Access владею на начальном уровне. Надо быстро решить задачу, а у меня нет времени на изучение, не успеваю. Помогите, пожалуйста! Или...

Как программно добавить запись в базу данных access через datagridview?
Проблема заключается в следующем: Когда заполняю таблицу с клавиатуры, то данные с datagridview сохраняются в бд, а когда таблица...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru