Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: 2003
 
 автор: pistachio   (08.07.2009 в 21:42)   личное сообщение
 
 

Здравствуйте! Можно ли в access добавлять строки в таблицу, как это делается в excel?

  Ответить  
 
 автор: Lukas   (08.07.2009 в 21:47)   личное сообщение
 
 


Можно ли в access добавлять строки в таблицу...


Да.


...как это делается в excel...


Требуется уточнение ("как"), так как добавлять строки в excel можно по-разному.

  Ответить  
 
 автор: pistachio   (08.07.2009 в 21:53)   личное сообщение
 
 

например, уже сделанная таблица в accesse. В неё надо добавить строку между, скажем, 10-ой и 11-ой. Как сделать? )

Извиняюсь за ТАКОЕ ламерство, но всю жизнь работаю в excele... :(

  Ответить  
 
 автор: Lukas   (08.07.2009 в 22:04)   личное сообщение
 
 

1. В Access нет 10 и 11 строк в таблицах.
2. Последовательность отображения строк в Access реализуется применением сортировки в запросах по соответствующему полю (полям).
3. "Синтетическую" нумерацию строк можно получить специальным запросом.

В принципе, последовательность расположения строк в таблицах Access, в отличии от листов Excel не имеет никакого значения.
Если необходима особенная последовательность отображения строк, используются запросы, позволяющие получать необходимые наборы данных, в нужной последовательности строк, на основании данных одной (или нескольких) таблицы(таблиц).

  Ответить  
 
 автор: pistachio   (08.07.2009 в 22:10)   личное сообщение
 
 

блин.... точно... Спасибо!

Если можно, то еще один вопрос )

Почему в "построителе выражений" не высвечиваются таблицы? Есть только "формулы", "константы" и "операторы". То есть, другими словами, как мне сделать выражения поля("3") таким, чтобы получалось выражение вычета одного("2") поля из другого("1") ("3" = "2" -"1")

  Ответить  
 
 автор: Lukas   (08.07.2009 в 22:20)   личное сообщение
 
 

"построитель выражений" где? В таблице, в запросе, в форме, отчете?
Если в таблице, то так и должно быть.
Обычно, вычисляемые поля создают в запросах. (формах, отчетах)
И не хранят значения вычисляемых полей в таблицах.
Прим. Есть исключения, когда вычисления сложные и(или) длительные.

  Ответить  
 
 автор: pistachio   (08.07.2009 в 22:25)   личное сообщение
 
 

ага, ясно... а могу я, например, добавить в запросе поле, которого нет в таблицах, и, соответственно, забить туда формулу?

  Ответить  
 
 автор: Lukas   (08.07.2009 в 22:31)   личное сообщение
 
 

Да, именно так и следует поступать.
Например:

SELECT Goods, CountGoods, PriceGoods, CountGoods*PriceGoods As Amount FROM tblGoods

Можно использовать в запросах в вычисляемых полях встроенные функции.
При сложных расчетах, можно использовать публичные самописные VBA функции.

  Ответить  
 
 автор: pistachio   (08.07.2009 в 22:37)   личное сообщение
 
 

ага, понятно.. Огромное спасибо за ликбез! :) Просто выручил, Lukas. Завтра я таким макарам отчет сдам ахаха ))

  Ответить  
 
 автор: pistachio   (09.07.2009 в 23:34)   личное сообщение
 
 

Еще раз здравсвуйте! В силу, поверьте, объективных, но дурацких обстоятельств, не могу скинуть сюда таблицу, в которой проблема. Постараюсь объяснить словами. Существует запись, где сразу указано несколько дат, скажем, выглядит образно так: "01,01,09 После с числами(1) 13,02,09 После с числами(2) 20,03,09 После с числами(3)". В запросе необходимое поле (4) = 1 - 2 - 3. Как мне сделать такой запрос, чтобы не изменять основную формулу (4=1-2-3), но выводились сгруппированные данные только за февраль? Т.е. есть чтобы фактически вывело 4=1-2.

  Ответить  
 
 автор: Гоблин   (09.07.2009 в 23:51)   личное сообщение
 
 

5 раз прочел ни хрена не понял, но что-то очень интересное.
1. Вывести в одном поле даты через запятую? (точнее через "-") это типа как лукас накидал: http://hiprog.com/forum/read.php?id_forum=1&id_theme=5287&page=1
2. Отфильтровать даты за февраль? - обычный групповой запрос с отбором.
3. По формуле вычислить некие даты за февраль по формуле??
Мне бы лучше табличку. Цифири - это образно или некое поле в таблице с этими таблицами.

  Ответить  
 
 автор: snipe   (10.07.2009 в 05:38)   личное сообщение
 
 

а зачем запрос..........
написать функцию закинуть туда все ваши поля и посчитать то чАВо надо........

только вот что мне не понятно
почему ваши даты расположены в строку а не в столбец

  Ответить  
 
 автор: pistachio   (10.07.2009 в 07:37)   личное сообщение
 
 

хмм.. ну смотрите. существует, грубо говоря, шапка сверху (названия полей) выглядит так: "(наименование), (дата), (количество1), (дата), (количество2), (дата3), (количество3)". Так что строка выглядит так, как написано мной ранее. А в запросе мне надо всего два стоблца: "(наименование) (формула:4=количество1-количество2-количество3)". Но! все было бы хорошо и просто (группировка - sum), если бы мне надо было учесть 3 даты! А мне надо учесть только первые две, НО формулу изменить нельзя (т.е. 4=1-2-3). Как мне кажется, надо поставить какое-то условие отбора, например, чтобы комп учитывал (количество 3), только если оно попадает под условие "больше какой-то даты и меньше другой". ПРосто пробовал и "условие отбора" и "условие в группировке" - все не то выходит

  Ответить  
 
 автор: snipe   (10.07.2009 в 08:05)   личное сообщение
 
 

Ну так я про что вам и говорю.....
пишем функцию....кидаем туда данные, в вашем случае (дата), (количество1), (дата), (количество2), (дата3), (количество3) и месяц за который нужна инфа , сравниваем даты с месяцем и тихо- мирно производим вычисления , после значение функции выводим в свободном поле.....

  Ответить  
 
 автор: pistachio   (10.07.2009 в 09:41)   личное сообщение
 
 

ммм.. А как я запихну даты в формулу (выражение в названии "поле" в запросе), чтобы выдавало все равно числа? Мне же нужен результат от разницы "количеств", а не дат.. Если кто-нибудь понял мой вопрос, то напишите пожалуйста ламеру, как сделать эту форумулу, пополробнее. А то я так точно ничего не пойму..

  Ответить  
 
 автор: snipe   (10.07.2009 в 11:02)   личное сообщение
 
 

да так и запихнуть....просто
я бы написал функцию на VBA...
но можно и вот так...
=количество1-iif(Month([дата2])=2;[количество2];0)-iif(Month([дата3])=2;[количество3];0)......

если как вы говорите всю жизнь работаете на экселе....то смоделируем ситуацию на екселе
ячейка А1 - дата1 ячейка А2- количество1
ячейка А3 - дата2 ячейка А4- количество2
ячейка А5 - дата3 ячейка А6- количество3......
сравниваем с февралем......

формула будет такая =a2-если(месяц(А3)=2;А4;0)-если(месяц(А5)=2;А6;0)

  Ответить  
 
 автор: pistachio   (10.07.2009 в 11:56)   личное сообщение
 
 

даже не верится... Сначала, когда прочел, подумал, что все фигня, ничего не выйдет, а когда выдало все верно, чуть оргазм не получил от счастья ахах )) просто гигантское человеческое СПАСИБО! :)

  Ответить  
 
 автор: Denis V.   (10.07.2009 в 16:09)   личное сообщение
 
 

Мне тоже не верится. Опять из Access пытаются Excel сделать! pistachio, бросьте. Вам же сказали, что Access - это не Excel. В Access данные хранятся по-другому. Так что Ваша табличка с тремя столбцами дат и тремя столбцами количества... в общем, не надо так делать.
Запись в таблице должна быть, как бы это сказать, атомарной. Т.е. представлять из себя что-то вроде описания какой-то одной операции, предмета и проч.
Что-то я сильно сомневаюсь, что три даты в одной строке - это описание чего-то одного.
Объясните, пожалуйста, что Вы делаете, а то потом много переделывать будете, когда всё затормозит. И будете потом на всех форумах плохо отзываться об Access.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList