-Ïîèñê ïî äíåâíèêó

Ïîèñê ñîîáùåíèé â rss_sql_ru_access_programming

 -Ïîäïèñêà ïî e-mail

 

 -Ïîñòîÿííûå ÷èòàòåëè

 -Ñòàòèñòèêà

Ñòàòèñòèêà LiveInternet.ru: ïîêàçàíî êîëè÷åñòâî õèòîâ è ïîñåòèòåëåé
Ñîçäàí: 16.03.2006
Çàïèñåé:
Êîììåíòàðèåâ:
Íàïèñàíî: 4


Âûáîðêà äàííûõ èç òàáëèöû ïî äàòå, ââåäåííîé â ôîðìå.

Ïîíåäåëüíèê, 24 Ìàðòà 2014 ã. 14:18 + â öèòàòíèê
Äîáðûé äåíü, óâàæàåìûå ãóðó.
Ïîäñêàæèòå, ïîæàëóéñòà â òàêîì âîïðîñå:

Åñòü òàáëèöà "ÑÊËÀÄ" ñ ïîëÿìè "Äàòà âûãðóçêè" "ÈìÿÄëÿÂûãðóçêè" "ÎÊÅÈ" è ò.ä.
Ïîëå "Äàòà âûãðóçêè" - ôîðìàòà Äàòà, êðàòêèé ôîðìàò äàòû.
Åñòü ôîðìà, êîòîðàÿ äîëæíà ôîðìèðîâàòü îò÷åò â Excell èç äàííûõ ýòîé òàáëèöû íà îñíîâå øàáëîíà.
Ýêñïîðò äàííûõ â Excell èäåò ïî íàæàòèþ êíîïêè:
+

Private Sub Êíîïêà1_Click()

Dim app As Object
Dim XLT As Object
Dim newrow As Object
Dim strDOT As String
Dim MyTable As DAO.Recordset
Dim i As Integer

Me.Refresh

'Îòêðûâàåì ýêñåëü, â íåì êíèãó íà îñíîâå øàáëîíà
Set app = CreateObject("Excel.Application")

app.Visible = True
strDOT = CurrentProject.Path & "\" & "Øàáëîíû\MX-1.xltx "
Set XLT = app.Workbooks.Open(strDOT)

'Ñîçäàåì íàáîð çàïèñåé
Set MyTable = CurrentDb.OpenRecordset("SELECT [ÑÊËÀÄ].[ÈìÿÄëÿÂûãðóçêè], [ÑÊËÀÄ].[Ñåðèÿ], [ÑÊËÀÄ].[ÎÊÅÈ], [ÑÊËÀÄ].[Äàòà âûãðóçêè] FROM [ÑÊËÀÄ] WHERE ([ÑÊËÀÄ].[Äàòà âûãðóçêè]=[Forms]![ÑÊËÀÄ - Îò÷åò MX-1]![ÔîðìàÌÕ-1ÄàòàÂûãðóçêè]);")

i = 29
Rowss = 1
'Öèêë ïî íàøåìó íàáîðó çàïèñåé
Do While Not MyTable.EOF

'ñìîòðèì, åñëè ñòðîê áîëüøå ÷åì ìû çàäàëè â øàáëîíå (ñòðîê íåïîñðåäñòâåííî âûäåëåííûõ ïîä äàííûå â øàáëîíå)
If Rowss >= 19 Then
'òî äîáàâëÿåì ñòðîêó
XLT.Worksheets("ñòð1").Rows(Rowss).Insert 'íå çàáûâàåì, êàê íàçûâàåòñÿ íàø ëèñò â Excel â øàáëîíå(â íàøåì ñëó÷àå - "ñòð1", åñëè ïî äðóãîìó, òî èçìåíÿåì)
'Çàïîìíèì íàøó ñòðîêó
Set newrow = XLT.Worksheets("ñòð1").Rows(Rowss)
'è âñòàâèì òóäà êîïèþ ïðåäûäóùåé ñòðîêè
'äëÿ òîãî åñëè âäðóã ó âàñ òàì åñòü îáúåäèíåííûå ÿ÷åéêè èëè êàêèå-òî íóæíûå äàííûå
'òàê êàê íîâàÿ ñòðîêà ñîçäàñòñÿ áåç âñÿêèõ îáúåäèíåíèé è çíà÷åíèé
XLT.Worksheets("ñòð1").Rows(Rowss - 1).Copy newrow
Rowss = Rowss + 1
End If

'Íà÷èíàÿ ñ 29-îé ñòðîêè âñòàâëÿåì â ñîîòâ-èå ñòîëáöû ñîîòâ-èå çíà÷åíèÿ èç íàøåãî íàáîðà çàïèñåé
app.Parent.Range("d" & i).SELECT
app.Parent.ActiveCell.FormulaR1C1 = CStr(Nz(MyTable.Fields("[ÈìÿÄëÿÂûãðóçêè]"), ""))
app.Parent.Range("e" & i).SELECT
app.Parent.ActiveCell.FormulaR1C1 = CStr(Nz(MyTable.Fields("[Ñåðèÿ]"), ""))
app.Parent.Range("i" & i).SELECT
app.Parent.ActiveCell.FormulaR1C1 = CStr(Nz(MyTable.Fields("[ÎÊÅÈ]"), ""))

i = i + 1
MyTable.MoveNext

Loop
MyTable.Close

End Sub

Ìíå íóæíî, ÷òîáû ÿ âáèë â ïîëå ôîðìû äàòó è ñôîðìèðîâàëñÿ îò÷åò ñ òîâàðàìè, çàãðóæåííûìè íà ñêëàä òîëüêî â äàííûé äåíü. Íî çàïðîñ íå ñðàáàòûâàåò, ïî-âèäèìîìó îí íå ìîæåò âçÿòü äàííûå èç ôîðìû
SELECT [ÑÊËÀÄ].[ÈìÿÄëÿÂûãðóçêè], [ÑÊËÀÄ].[Ñåðèÿ], [ÑÊËÀÄ].[ÎÊÅÈ], [ÑÊËÀÄ].[Äàòà âûãðóçêè] FROM [ÑÊËÀÄ] WHERE ([ÑÊËÀÄ].[Äàòà âûãðóçêè]=[Ôîðìû]![ÑÊËÀÄ - Îò÷åò MX-1]![ÔîðìàÌÕ-1ÄàòàÂûãðóçêè])

Åñëè æå â óñëîâèÿõ çàïðîñà ïîñòàâèòü WHERE ([ÑÊËÀÄ].[Äàòà âûãðóçêè]=Date() òî âûãðóçêà íà ñåãîäíÿ ïðîèñõîäèò, ò.å. çàãâîçäêà êàê ÿ ïîíÿë èìåííî â òîì ÷òî çàïðîñ íå ìîæåò âçÿòü äàòó èç ôîðìû.

Ïîìîãèòå ïîæàëóéñòà, ñîñòàâèòü ïðàâèëüíûé çàïðîñ, ÿ â àêñåññå ñîâñåì íèêàêîé.

http://www.sql.ru/forum/1084579/vyborka-dannyh-iz-tablicy-po-date-vvedennoy-v-forme


 

Äîáàâèòü êîììåíòàðèé:
Òåêñò êîììåíòàðèÿ: ñìàéëèêè

Ïðîâåðêà îðôîãðàôèè: (íàéòè îøèáêè)

Ïðèêðåïèòü êàðòèíêó:

 Ïåðåâîäèòü URL â ññûëêó
 Ïîäïèñàòüñÿ íà êîììåíòàðèè
 Ïîäïèñàòü êàðòèíêó