Здравствуйте! У меня получилось импортировать внешние данные из БД.mdf, вопшем через сводную таблицу отфильтровал (выбрал) нужные мне столбцы... Но теперь нужно со сводной таблицы отфильтровать данные в нужную мне сформированную таблицу, вобщем, поставить условия на формулу ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ()... Думал сначала получится включить в "ЕСЛИ ()" функцию "ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ()", но наверное будет много лишних пустых полей в сформированной таблице, и то если получится это сделать...
Вопрос в том как отфильтровать данные из сводной таблицы в нужную мне табл.: 1) в один столбец - по цене при условии если цена = "Х"? ; 2) в другой столб. - по дате "ОТ" - если дата попадает а промежуток от "Y" до "Z" ; 3) по дате "ДО" если дата входит в промежуток от "Y" до "Z". При этом X - это константа для каждой страницы; от "Y" до "Z" это 1 месяц (например, от "01.01.2012" до "31.01.2012" по календарю компьютера) Вопщем, все это лучше увидеть на примере...
Здравствуйте! У меня получилось импортировать внешние данные из БД.mdf, вопшем через сводную таблицу отфильтровал (выбрал) нужные мне столбцы... Но теперь нужно со сводной таблицы отфильтровать данные в нужную мне сформированную таблицу, вобщем, поставить условия на формулу ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ()... Думал сначала получится включить в "ЕСЛИ ()" функцию "ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ()", но наверное будет много лишних пустых полей в сформированной таблице, и то если получится это сделать...
Вопрос в том как отфильтровать данные из сводной таблицы в нужную мне табл.: 1) в один столбец - по цене при условии если цена = "Х"? ; 2) в другой столб. - по дате "ОТ" - если дата попадает а промежуток от "Y" до "Z" ; 3) по дате "ДО" если дата входит в промежуток от "Y" до "Z". При этом X - это константа для каждой страницы; от "Y" до "Z" это 1 месяц (например, от "01.01.2012" до "31.01.2012" по календарю компьютера) Вопщем, все это лучше увидеть на примере...bygaga
Формуляр, спасибо большое за пример! Простите пожалуйста что не ответил сразу. Просто не смог сам разобраться что и как в этом макросе менять... Во-первых, хотелось-бы уточнить:
Quote (Формуляр)
внутренний SQL-запрос.
- я так понимаю это подзапрос который должен управляться внешним (основным) запросом к серверу, где и находиться файл.MDF? эт я нагуглил если да, то как осуществить основной запрос и интегрировать в него внутренний, можно пример?
Формуляр, спасибо большое за пример! Простите пожалуйста что не ответил сразу. Просто не смог сам разобраться что и как в этом макросе менять... Во-первых, хотелось-бы уточнить:
Quote (Формуляр)
внутренний SQL-запрос.
- я так понимаю это подзапрос который должен управляться внешним (основным) запросом к серверу, где и находиться файл.MDF? эт я нагуглил если да, то как осуществить основной запрос и интегрировать в него внутренний, можно пример?bygaga
Сообщение отредактировал bygaga - Вторник, 19.06.2012, 12:03
внутренний SQL-запрос. - я так понимаю это подзапрос который должен управляться внешним
"Внутренний" - в том смысле, что к своему собственному файлу. А так - обычный запрос. Только нужно закомментировать везде вызов UpdateAutoConnectionQry() , которая перенаправляет источник на свой собственный файл.
с MDF-ами я, честно говоря, ни разу не работал. Обращался только к готовым запросам в Access. Но принцип, думаю, общий: кнопкой Редактировать запрос открываете форму и в поле Data source прописываете все нужные параметры своего MDF.
Quote (Формуляр)
Покажите ка образец исхдного MDFа. И заодно сам SQL-запрос.
Quote (bygaga)
можно пример?
Я первый спросил.
Quote (bygaga)
внутренний SQL-запрос. - я так понимаю это подзапрос который должен управляться внешним
"Внутренний" - в том смысле, что к своему собственному файлу. А так - обычный запрос. Только нужно закомментировать везде вызов UpdateAutoConnectionQry() , которая перенаправляет источник на свой собственный файл.
с MDF-ами я, честно говоря, ни разу не работал. Обращался только к готовым запросам в Access. Но принцип, думаю, общий: кнопкой Редактировать запрос открываете форму и в поле Data source прописываете все нужные параметры своего MDF.
Quote (Формуляр)
Покажите ка образец исхдного MDFа. И заодно сам SQL-запрос.
Покажите ка образец исхдного MDFа. И заодно сам SQL-запрос.
хорошо, но как мне урезать/изменить данные таблиц *.MDF, чтоб так много не весил? Или, если возможно, как через Эксель -> "Импорт данных" из сохранённого запроса создать файл MDF такой же структуры как исходник?
Quote (Формуляр)
Покажите ка образец исхдного MDFа. И заодно сам SQL-запрос.
хорошо, но как мне урезать/изменить данные таблиц *.MDF, чтоб так много не весил? Или, если возможно, как через Эксель -> "Импорт данных" из сохранённого запроса создать файл MDF такой же структуры как исходник?bygaga
Сообщение отредактировал bygaga - Пятница, 22.06.2012, 13:46
Извините, долго не отвечал. Вопрос почти решен - макрорекордером записал запрос и повесил на кнопку. Вот код VBA
[vba]
Код
Private Sub CommandButton2_Click() ' Запрос1_mdf (Excel 2003) Dim [b]d[/b] As Date Dim [b]d2[/b] As Date
If Range("B4") <> "" Then Columns("B:E").Select Selection.ClearContents End If 'ввожу переменные для выбора периода в Excel d = Range("R1") d2 = Range("R2")
End With Columns("D:E").Select Selection.NumberFormat = "dd.mm.yy;@" Selection.ColumnWidth = 8 End Sub
[/vba]
Баг появляется в этой желтой строке [vba]
Код
.Refresh BackgroundQuery:=False
[/vba] после моих корректирований, а точнее - добавил: [vba]
Код
Dim [b]d[/b] As Date Dim [b]d2[/b] As Date
[/vba] и вместо даты в запросе "WHERE (PUTIVKA.FROM_D>={ts '2013-02-01 00:00:00'} And PUTIVKA.FROM_D<={ts '2013-02-28 00:00:00:" _ подставил d и d2 которые ссилаются на ячейки: d = Range("R1") d2 = Range("R2") форматы ячеек изменил на yyyy-mm-dd" "hh:mm:ss
Вопрос: Как, используя данный макрос, сделать рабочим макрос вот этого файла TEST_3_1.zip
Извините, долго не отвечал. Вопрос почти решен - макрорекордером записал запрос и повесил на кнопку. Вот код VBA
[vba]
Код
Private Sub CommandButton2_Click() ' Запрос1_mdf (Excel 2003) Dim [b]d[/b] As Date Dim [b]d2[/b] As Date
If Range("B4") <> "" Then Columns("B:E").Select Selection.ClearContents End If 'ввожу переменные для выбора периода в Excel d = Range("R1") d2 = Range("R2")
End With Columns("D:E").Select Selection.NumberFormat = "dd.mm.yy;@" Selection.ColumnWidth = 8 End Sub
[/vba]
Баг появляется в этой желтой строке [vba]
Код
.Refresh BackgroundQuery:=False
[/vba] после моих корректирований, а точнее - добавил: [vba]
Код
Dim [b]d[/b] As Date Dim [b]d2[/b] As Date
[/vba] и вместо даты в запросе "WHERE (PUTIVKA.FROM_D>={ts '2013-02-01 00:00:00'} And PUTIVKA.FROM_D<={ts '2013-02-28 00:00:00:" _ подставил d и d2 которые ссилаются на ячейки: d = Range("R1") d2 = Range("R2") форматы ячеек изменил на yyyy-mm-dd" "hh:mm:ss
Вопрос: Как, используя данный макрос, сделать рабочим макрос вот этого файла TEST_3_1.zipbygaga
Сообщение отредактировал bygaga - Среда, 27.02.2013, 17:00
RAN, а если в строке поставить All чтобы видеть все данные то макрос не работает (Selection.AutoFilter Field:=2, Criteria1:= all) ...а понял, надо просто написать Selection.AutoFilter Field:=2
RAN, а если в строке поставить All чтобы видеть все данные то макрос не работает (Selection.AutoFilter Field:=2, Criteria1:= all) ...а понял, надо просто написать Selection.AutoFilter Field:=2bygaga
Сообщение отредактировал bygaga - Среда, 27.02.2013, 17:43
Ей, люди, отзовитесь кто-нибудь Как же осуществить возможность менять параметры выборки в ячейках Экселя, а не меняя текст запроса в даном выше коде? То есть как внести работающие переменные в код запроса, которые будут ссылатся на ячейки? Например, в нашем коде написано ...& "WHERE (PUTIVKA.FROM_D>={ts '2013-02-01 00:00:00' В ячейку D1 ми поставили 15.03.2013 , то код поменялся: ...& "WHERE (PUTIVKA.FROM_D>={ts '2013-03-15 00:00:00'
Ей, люди, отзовитесь кто-нибудь Как же осуществить возможность менять параметры выборки в ячейках Экселя, а не меняя текст запроса в даном выше коде? То есть как внести работающие переменные в код запроса, которые будут ссылатся на ячейки? Например, в нашем коде написано ...& "WHERE (PUTIVKA.FROM_D>={ts '2013-02-01 00:00:00' В ячейку D1 ми поставили 15.03.2013 , то код поменялся: ...& "WHERE (PUTIVKA.FROM_D>={ts '2013-03-15 00:00:00'bygaga
Сообщение отредактировал bygaga - Четверг, 28.02.2013, 15:06