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

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

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

 

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

 -Ñòàòèñòèêà

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


Óáðàòü âðåìåííóþ òàáëèöó è çàìåíèòü åå îòâÿçàííûì ðåêîðäñåòîì

Ïîíåäåëüíèê, 10 Ìàðòà 2014 ã. 16:36 + â öèòàòíèê
Åñòü òàáëèöû
shed_doc - ðàñïèñàíèå âðà÷åé - â íåé õðàíèòñÿ ðàñïèñàíèå ïðèåìà âðà÷åé - êîä, äàòà, âðåìÿ íà÷àëî, âðåìÿ êîíåö, êàáèíåò, âðà÷
shed_pat - çàïèñü ïàöèåíòîâ - êîä, äàòà, âðåìÿ íà÷àëî, âðåìÿ êîíåö, êàáèíåò, ïàöèåíò

ïðè îòêðûòèè ôîðìû ðàñïèñàíèÿ ãåíåðèðóåòñÿ â òàáëèöó shed_temp - ðàñïèñàíèå âñåõ èìåþùèõñÿ êàáèíåòîâ ñ èíòåðâàëîì ïî 15 ìèíóò (ìîãó è ïî 30). Åñëè â òàáëèöàõ ðàñïèñàíèå âðà÷à/ðàñïèñàíèå ïàöèåíòà - ïðèñóòñòâóåò èíôîðìàöèÿ î äàííîì âðåìåíè - îíè âñòàâëÿþòñÿ - èíà÷å - çàïîëíÿåòñÿ êàæäîå âðåìÿ â êàæäîì êàáèíåòå "ïóñòûì" âðà÷îì è "ïóñòûì" ïàöèåíòîì. Èç ýòîé òàáëèöû äåëàåòñÿ âèçóàëèçàöèÿ íà ôîðìå, äîáàâëåíèå ðàñïèñàíèå âðà÷à (åñëè âðåìÿ ïóñòî), äîáàâëåíèå ïàöèåíòîâ è ò.ä. - ÌÍÎÃÎ ÂÑßÊÎÃÎ ÔÓÍÊÖÈÎÍÀËÀ.

Ïðè ñìåíå äàòû íà ôîðìå ðàñïèñàíèÿ - ðàñïèñàíèå íà íîâûé äåíü âî âðåìåííîé òàáëèöå shed_temp î÷èùàåòñÿ è ãåíåðèðóåòñÿ çàíîâî.

Õî÷åòñÿ (áîÿçíü òîãî, ÷òî ïðè ìíîãîïîëüçîâàòåëüñêîì ðåæèìå â òàáëèöå shed_temp áóäóò äàííûå íà ðàçíûå äíè) óáðàòü âîîáùå èç áàçû ýòó òàáëèöó shed_temp - îñòàâèòü òîëüêî îòâÿçàííûé ðåêîðäñåò (ó êàæäîãî ïîëüçîâàòåëÿ áóäåò ñâîé ðåêîðäñåò - ÷òî óäîáíî + âîçìîæíî áóäåò è áûñòðåå...) Ñ ýòèì ðåêîðäñåòîì íå íàäî íè÷åãî îáíîâëÿòü - òîëüêî èñêàòü êîä çàïèñè ïî âûäåëåííîìó â ëèñòáîêñå è ñ ýòèì êîäîì ÷òî-òî äåëàòü...

Áóäåò ëè âñå ýòî ðàáîòàòü åñëè ðåêîðäñåò íàçâàòü êàê è ñòàðóþ âðåìåííóþ òàáëèöó èëè âñå ïîïëûâåò?


Public Function Shed_generate()

CurrentDb.Execute "DELETE * FROM Shed_temp ;"

Dim Èíòåðâàë, Íà÷àëî, Íà÷àëî1, Êîíåö, cdata As Date
Dim ccount, I As Integer
Dim rst As DAO.Recordset

Set rst = CurrentDb.OpenRecordset("Shed_temp", DAO.dbOpenDynaset)

cdata = Me.Äàòà
ccount = DCount("ÊîäÊàáèíåòà", "Êàáèíåòû", "Ðàñïèñàíèå = True ")

For I = 1 To ccount

Íà÷àëî = #8:00:00 AM#
Êîíåö = #7:45:00 PM#
Èíòåðâàë = #12:15:00 AM#

Do
rst.AddNew
rst!Äàòà = cdata
rst!ÂðåìÿÍà÷àëî = Íà÷àëî
rst!ÂðåìÿÊîíåö = Íà÷àëî + Èíòåðâàë

Íà÷àëî1 = Íà÷àëî + Èíòåðâàë

Me.ccab = I

rst!ÊîäÊàáèíåòà = Me.ccab

If DFirst("ÊîäÑîòðóäíèêà", "Shed_doc", "(ÊîäÊàáèíåòà= " & Me.ccab & ") and (Äàòà = #" & Format(cdata, "mm-dd-yyyy") & "#) and (ÂðåìÿÍà÷àëî <= #" & Íà÷àëî & "#) and (ÂðåìÿÊîíåö >= # " & Íà÷àëî1 & " #)") > 0 Then
Me.csot = DFirst("ÊîäÑîòðóäíèêà", "Shed_doc", "(ÊîäÊàáèíåòà= " & Me.ccab & ") and (Äàòà = #" & Format(cdata, "mm-dd-yyyy") & "#) and (ÂðåìÿÍà÷àëî <= #" & Íà÷àëî & "#) and (ÂðåìÿÊîíåö >= # " & Íà÷àëî1 & " #)")
Else: Me.csot = 1
End If

rst!ÊîäÑîòðóäíèêà = Me.csot

If DFirst("ÊîäÊëèåíòà", "Shed_pat", "(ÊîäÊàáèíåòà= " & Me.ccab & ") and (Äàòà = #" & Format(cdata, "mm-dd-yyyy") & "#) and (ÂðåìÿÍà÷àëî <= #" & Íà÷àëî & "#) and (ÂðåìÿÊîíåö >= # " & Íà÷àëî1 & " #)") > 0 Then
Me.ccli = DFirst("ÊîäÊëèåíòà", "Shed_pat", "(ÊîäÊàáèíåòà= " & Me.ccab & ") and (Äàòà = #" & Format(cdata, "mm-dd-yyyy") & "#) and (ÂðåìÿÍà÷àëî <= #" & Íà÷àëî & "#) and (ÂðåìÿÊîíåö >= # " & Íà÷àëî1 & " #)")
Else: Me.ccli = 1
End If

rst!ÊîäÊëèåíòà = Me.ccli

Íà÷àëî1 = Null
Íà÷àëî = Íà÷àëî + Èíòåðâàë

rst.Update

Loop Until Íà÷àëî >= Êîíåö

Next I

rst.Close
Set rst = Nothing

Me.Íåäåëÿ = Format(Äàòà, "Ðàñïèñàíèå íà Dddd, c")

End Function

http://www.sql.ru/forum/1081683/ubrat-vremennuu-tablicu-i-zamenit-ee-otvyazannym-rekordsetom


 

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

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

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

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