|
0 / 0 / 1
Регистрация: 16.08.2007
Сообщений: 271
|
|
Як удалить и добавить записи в базу Access?05.03.2008, 10:08. Показов 2998. Ответов 10
Метки нет (Все метки)
Пышу я прогу в которой будет вестись статистика нашей компании - в частности данные на торговых представителей - Ф.И.О, Тел, Адрес, сектор - эта часть данных храниться в тэйбле 'TP'. Торговых можно удалять и добавлять и естественно с этим и все его телефоны и адрес и сектор и др... Соответственно я не спрашиваю как это добавлять потому что думаю это делается по аналогии с удалением (наверно) - а как само удаление делать? (жотя бы неплохо точно знать как и добавлять)
И еще - это очень важно - мне надо не просто обнулять строки а удалять из - что бы при последующей работе с базой пустышек небыло а следующая запись шла именно в конец базы - как точно настроить для этого базу - что нужно выставить где и какие галочки при ее создании тэйблов и фиелдов в них? как избежать ошибки при стирании записи - база говорит что эта ячейуа не хочет быть пустой и желает иметь в ней хотя бы пробел - а мне так не надо. (понимаю что напрягаю - но ведь для этого половина людей и идёт на форум - что бы учить вторую половину (гм.... большую... и видимо далеко не половину))
0
|
|
| 05.03.2008, 10:08 | |
|
Ответы с готовыми решениями:
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
|
|
| 18.10.2010, 13:22 | |
|
Помогаю со студенческими работами здесь
11
Как добавить данные из list в базу Access Как можно в проект VB добавить базу данных Access? Как с помощью Adodc добавить данные в базу access 2000? Макрос на VBA, заносит в базу на Access случайно сгенерированные записи Как программно добавить запись в базу данных access через datagridview? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
модель ЗдравоСохранения 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.
Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
|