powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / запрос на удаление
25 сообщений из 71, страница 2 из 3
запрос на удаление
    #32283923
marina_spb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Geo

особенно ценно было указание про подключение DAO, оказалось ведь, что не подключено :)

а можно 3 вопроса?

про структуру программы все ясно, благо действительно чуточку ознакомлена с программированием... а вот...

1) "ПолеПоиска='" & VariableWithValueForSearch & "'" - это что?

2) set rs = currentdb.openrecordset("ТаблицаОтчетов") - это мы открываем мою таблицу? т.е. то, что в скобках я меняю на название своей таблицы...

3) VariableWithValueForSearch - это что?

остальное все, вроде, понятно....
...
Рейтинг: 0 / 0
запрос на удаление
    #32283925
marina_spb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 VIG

да :)
но эта же самая 1 присутствует иногда и не перед 4
там всего несколько символов могут встречаться в поле OPERATE
1, 4, o, z, x
причем в любой последовательности...

1 - это продажа
а
4 - это откат этой самой продажи

поэтому мне и нужно удалить эти самые данные, которые висят на совокупности 1-4, потому что это продажи, которые не были осуществлены и соответственно цена, количество и прочее оттуда учитываться в остальных рассчетах не должны...
...
Рейтинг: 0 / 0
запрос на удаление
    #32283928
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Господа, мне что-то кажется, что вы слишком лихо открываете рекордсет на таблице, будучи уверены, что это даст гарантированный порядок сортировки записей. По-моему, все-таки надо открывать на селекте с сортировкой.
...
Рейтинг: 0 / 0
запрос на удаление
    #32283931
marina_spb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ой мама... Пришел Владимир Саныч и сразу стало все совсем не понятно :) Как дальше жить-то?

Я просто к вашей терминологии aka слэнгу не привыкла еще :)
...
Рейтинг: 0 / 0
запрос на удаление
    #32283934
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понял.Но должно же быть что-то ,что идентифицирует эти записи.Например Код товара,для которого проводились эти операции, дата операции , еще что нибудь.Приведи все таки структуру таблицы
...
Рейтинг: 0 / 0
запрос на удаление
    #32283935
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Не-не, сударыня, я вовсе не имел намерений Вас запутать... Там Вам предложили программу с такой строчкой:

set rs = currentdb.openrecordset("ТаблицаОтчетов")

Если оставить так, то предыдущая запись, которая будет удаляться, может оказаться вовсе не предыдущей, а совершенно левой. Поэтому для исправления я предлагаю написать эту строчку так:

set rs = currentdb.openrecordset("select * from ТаблицаОтчетов order by ...")

где вместо ... надо подставить название поля, по которому таблица должна быть рассортирована в правильном порядке.
...
Рейтинг: 0 / 0
запрос на удаление
    #32283937
marina_spb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
запрос на удаление
    #32283939
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
О-ё... :^((( А первичного ключа совсем нет, что ли? У-вва...

Ну хотя бы поле DATA заполняется по порядку? Или у каждого пользователя оно заполняется в соответствии с часами на его компе...
...
Рейтинг: 0 / 0
запрос на удаление
    #32283943
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Марина
ПолеПоиска - вместо этого надо написать имя поля, в котором ты ищешь. у меня интернет работает плохо, а имя поля я не помню.

VariableWithValueForSearch - вместо этого надо подставить переменную с искомым значением. Или, если последнее - константа, то строку можно переписать

ПолеПоиска='4'"
...
Рейтинг: 0 / 0
запрос на удаление
    #32283944
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А про DAO - это не потому, что необходимо, а потому, что я про него пишу, ибо пока пользуюсь только им, а ADO не умею :))

Все-таки тебе, видно, придется полистать на досуге книжки :))
...
Рейтинг: 0 / 0
запрос на удаление
    #32283946
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О-ё...
Присоединяюсь
Дополнительно к вопросам В.С. А для чего поле Code ?
...
Рейтинг: 0 / 0
запрос на удаление
    #32283953
marina_spb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 VIG & 2 Владимир Саныч

поле Code полностью заполнено 0
это не код, в смысле номер продажи...
это какой-то свой внутренний кассовый код
и все записи в нем 0
поле ДАТА - это дата продажи
в один день может быть до 1000 продаж и дата будет одна и таже
там даже за поле TIME не зацепиться
опытный кассир за одну минуту успел сделать 4 отката и 2 продажи...
т.е. время тоже повторяется...
...
Рейтинг: 0 / 0
запрос на удаление
    #32283955
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Ну, время хранится с точностью до секунд, а не до минут, но это ничего не меняет...

Может, все-таки вернемся к идее стирать все записи с 4 и все записи с 1? Может, можно как-то найти все "предыдущие" записи по их содержимому, например в них есть какие-нибудь данные, по которым можно привязаться к соответствующим записям с 4? Например, одинаковый номер чека или что-нибудь?
...
Рейтинг: 0 / 0
запрос на удаление
    #32283956
marina_spb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот это вот:
Private Sub Кнопка0_Click()

Dim rs As DAO.Recordset
Set rs = CurrentDb.openrecordset("select * from otchet order by OPERATE")
rs.FindLast "OPERATE='4'"
Do Until rs.NoMatch
rs.MovePrevious
If rs!OPERATE = 4 Then
rs.MoveNext
Else
rs.Delete
rs.FindLast "OPERATE='4'"
End If
rs.Delete
rs.FindLast "OPERATE='4'"
Loop
rs.Close
Set rs = Nothing

End Sub
удаляет только 4... единицы идущие перед 4 не удаляет :(((
...
Рейтинг: 0 / 0
запрос на удаление
    #32283958
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
> единицы идущие перед 4 не удаляет :(((

И не будет. Там же написано order by OPERATE. То есть единицы не идут перед четверками, а все единицы собраны вместе и все четверки вместе.
...
Рейтинг: 0 / 0
запрос на удаление
    #32283959
marina_spb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Владимир Саныч

во-первых, секунды касса почему-то не прописывает, везде вместо секунд нули...
во-вторых, я пыталась прицепиться к чему-то еще... не к чему там больше цепляться...
поле PRIHOD - пустое
поле BANK - одно и тоже значение все записи
поле USER - все 1
поле CHECK, я думала хоть к номеру чека можно прицепиться - неа... на одном чеке может быть до 5ти откатов и еще парочка продаж...
поле DATA - все за одно число...
про TIME уже говорилось выше...
поле OPERATE мы и обсуждаем...
поле CODE - все нули...
поле NAME - пустое....
PRICE, QUANTY, SUM - цена, количество, сумма - не зацепишься, могут повторяться и повторяются постоянно...
OPLATA - либо пусто, либо нули...
NALOG 1-3 - тоже нули...
DISCOUNT - нули...
и DIVNUM - единицы и нули...
т.е. цепляться можно только за OPERATE, что я и сделала...
...
Рейтинг: 0 / 0
запрос на удаление
    #32283960
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут

If rs!OPERATE = 4 Then

ошибка, д. быть

If rs!OPERATE = "4" Then

А удаляет только четверки потому, что

Set rs = CurrentDb.openrecordset("select * from otchet order by OPERATE")

Если написать

Set rs = CurrentDb.openrecordset("otchet")

, поначалу все будет в порядке. Потом, возможно, наткнешься на необходимость наличия первичного ключа.
...
Рейтинг: 0 / 0
запрос на удаление
    #32283961
marina_spb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть!!!!!!

Private Sub Кнопка0_Click()

Dim rs As DAO.Recordset
Set rs = CurrentDb.openrecordset("select * from otchet")
rs.FindLast "OPERATE='4'"
Do Until rs.NoMatch
rs.MovePrevious
If rs!OPERATE = 4 Then
rs.MoveNext
Else
rs.Delete
rs.FindLast "OPERATE='4'"
End If
rs.Delete
rs.FindLast "OPERATE='4'"
Loop
rs.Close
Set rs = Nothing

End Sub

удаляет то, что надо!!!! ))))))
СПАСИБО ))
...
Рейтинг: 0 / 0
запрос на удаление
    #32283962
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А может, достаточно просто удалить ВСЕ единицы и все? Или среди единиц есть такие, которые нельзя удалять?

Короче, это последняя надежда. Если не получится с единицами, то надо показывать все записи на экране и требовать от юзера тыкать мышкой в каждую запись, которую он хочет стереть.

А вот еще вопрос. Может, можно переделать базу? Те данные, которые уже есть, пусть стирают мышкой, а на будущее, может, можно добавить поле счетчика, чтобы программа заработала хотя бы с новыми данными?
...
Рейтинг: 0 / 0
запрос на удаление
    #32283963
marina_spb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Geo

странно... почему-то Access и без кавычек все удалил...
...
Рейтинг: 0 / 0
запрос на удаление
    #32283964
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Рано спасибо!!!

Оно еще начнет стирать не то. Оно работает правильно процентов на 95.
...
Рейтинг: 0 / 0
запрос на удаление
    #32283966
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У одного счета может быть до 5 откатов
С этим я не встречался, но в таком случае могу тебя огорчить такой табличкой:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Чек Откат Сумма
 1      Нет     10 
 2      Нет     20 
 1      Да      1 
 3      Нет     11 
 1      Да      5 
 4      Нет    15 
 1      Да     4 

Угадай, как отработает такая функция?
...
Рейтинг: 0 / 0
запрос на удаление
    #32283967
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мариночка! Ты же лучше нас должна знать свою таблицу. Если кассир отменяет операцию,должен же он знать к чему ( какому товару) относится отмена.
...
Рейтинг: 0 / 0
запрос на удаление
    #32283970
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Кажется, автор вопроса ушла спать... Ладно, я тоже ушел. Если будут вопросы, то отвечу завтра. Good night!
...
Рейтинг: 0 / 0
запрос на удаление
    #32283971
marina_spb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Geo

116 kb посмотри пожалуйста

мы работаем со столбцом OPERATE - вот он этот ужас ужасный, эти 1 и 4
а номер чека тут не причем совсем... да на одном чеке может быть и 5 откатов, но это ничего не должно менять...
...
Рейтинг: 0 / 0
25 сообщений из 71, страница 2 из 3
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / запрос на удаление
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]