Ñóááîòà, 18 Èþíÿ 2016 ã. 20:01
+ â öèòàòíèê
Äîáðûé âå÷åð. ß íîâè÷îê â access è õîòåë áû ñïðîñèòü ó âàñ êîå-÷òî. Èìååòñÿ òàáëèöà è â íåé òðè êîëîíêè: êîä ïðîäóêò è ñóììà. Ìíå íàäî èç vba îáðàùàòüñÿ ê ýòîé òàáëèöå è ÷òîáû îíà ïðîáåãàëàñü ïî ïåðâîé êîëîíêå è åñëè çíà÷åíèå ÿ÷åéêè â ïåðâîé êîëîíêå ðàâíî 1, òî ÷òîáû îíà áðàëà çíà÷åíèå òðåòüåãî ñòîëáöà èç ýòîé ñòðîêè è äîáàâëÿëà åãî â ïàìÿòü è òàê äî êîíöà âñåé òàáëèöû. È ÷òîáû áûë ñ÷¸ò÷èê äîáàâëåííûõ ñóìì. Òî åñòü íóæíî íàéòè ñðåäíåå àðèôìåòè÷åñêîå âñåõ ñóìì, ó êîòîðûõ çíà÷åíèå ïåðâîãî ñòîëáöà ðàâíî 1. Âîò ÷òî ñàì ïðîáîâàë:
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim str_my As Integer
Dim k As Integer
Set db = CurrentDb()
Set rst = db.OpenRecordset("Îáùàÿ", dbOpenDynaset) 'dbOpenSnapshot)
rst.MoveFirst
Do While Not rst.EOF
If rst![Êîä] = 1 Then
str_my = str_my + rst![Ñóììà]
k = k + 1
rst.MoveNext
End If
Loop
rst![Ñ] = str_my / k
rst.Close
db.Close
Set db = Nothing
Íî ïðîãðàììà ïî÷åìó òî íå îòâå÷àåò è access áëîêèðóåòñÿ
http://www.sql.ru/forum/1218820/put-k-tablice
-
Çàïèñü ïîíðàâèëàñü
-
0
Ïðîöèòèðîâàëè
-
0
Ñîõðàíèëè
-