Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Microsoft Access & VBA! HELP!

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Moorka



Зарегистрирован: 20.03.2004
Сообщения: 19
Откуда: EC

СообщениеДобавлено: Сб Мар 20 2004 21:04    Заголовок сообщения: Microsoft Access & VBA! HELP! Ответить с цитатой

Люди добрые, помогите чайнику разобраться! Rolling Eyes
В Microsoft Access делаю БД.
Есть форма, в которой поля ввода и кнопка. Когда кнопку clickаеш должен запуститься код (он описан ниже). Но он не хочет запускаться, а выкидывает RUN-TIME ERROR MESSAGE
‘2185’: YOU CAN’T REFERENCE A PROPERTY OR METHOD FOR A CONTROL UNLESS THE CONTROL HAS THE FOCUS!

Что не так? Что надо сделать? Хоть идею подкиньте!
Я уже весь MSDN обрыла, обсыпется скоро.
P.S. На дебуге метит болдом выделеную строку.

Заранее пасиба Wink
-----------------------------------------------------------------------
Private Sub Command16_Click()
Dim db As Connection
Dim table1 As Recordset
Dim d(1 To 100) As Integer

Set db = CurrentProject.Connection
Set table1 = New Recordset
Table1.Open "table1", db

i = 1
Do Until table1.EOF
If (table1!god = Combo23.Value) And (table1!mesiac = Combo25.Value) And (table!id =id.Text) Then
d(i) = table!cena

End If
Table1.MoveNext
i = i + 1
Loop

y = 0
For sk = 1 To i
y = y + d(i)
Next

Text14.Text = Str(y / 100 * Val(Text12.Text))
End Sub
------------------------------------------------------------------
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
HP



Зарегистрирован: 04.03.2004
Сообщения: 7
Откуда: Екб

СообщениеДобавлено: Вс Мар 21 2004 08:08    Заголовок сообщения: Ответить с цитатой

Он ругается скорее всего на то, что один из комбо-боксов имеет фокус, а пока он имеет фокус на его проперти нельзя ссылаться.
А что у тебя за комбо?
А вообще опиши задачу подробнее, что сделать-то нужно?
А то на первый вгляд ты пытаешься солнце вручную закатить, хотя есть механизмы Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Moorka



Зарегистрирован: 20.03.2004
Сообщения: 19
Откуда: EC

СообщениеДобавлено: Вс Мар 21 2004 14:07    Заголовок сообщения: ЗАДАЧА: Ответить с цитатой

а задача примитивная:

мне надо пересмотреть тэйбл, найти в нем поля, которые совпадают со значениями, введенными в комбобоксах и текст(боксах) формы.
Проще:
есть тэйбл. В нем записаны факты продажи товара, а именно:
(личный код продавшего лица, год продажи, месяц продажи, наименование товара, цена)

есть форма
в нее вводим личный код, год и месяц, который нас интересует
цикл бежит по тэйблу и ищет запись по личн. коду, месяцу и году продажи, считывает цену, за которую продано
если находит еще 1-у запись удовлетворяющую условие то суммирует цену и т.д.

Вобщем, цель-посчитать кто в каком месяце на какую сумму продал
(А в конце там просто размер премии подсчитывается (это не важно))
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
HP



Зарегистрирован: 04.03.2004
Сообщения: 7
Откуда: Екб

СообщениеДобавлено: Вт Мар 23 2004 11:13    Заголовок сообщения: Ответить с цитатой

Допустим есть таблица Продажи (КодПродавца, ГодПродажи, МесяцПродажи, НазваниеТовара, ЦенаТовара)
Делаем SQL запрос:
SELECT КодПродавца, ГодПродажи, МесяцПродажи, SUM(ЦенаТовара) FROM Продажи GROUP BY КодПродавца, ГодПродажи, МесяцПродажи

на выходе запроса получаем набор записей, содержащих нужную тебе информацию, т.е. в виде:
КодПродавца, ГодПродажи, МесяцПродажи, СуммаЗаПериод
1, 2004, 1, 23000
1, 2004, 2, 25000
2, 2004, 1, 18000
2, 2004, 2, 19000

Если еще к запросу добавить HAVING КодПродавца='1' and ГодПродажи=2004 and МесяцПродажи=1
то на выходе будет одна запись про одного продавца за определенный год и месяц.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Moorka



Зарегистрирован: 20.03.2004
Сообщения: 19
Откуда: EC

СообщениеДобавлено: Ср Мар 24 2004 00:11    Заголовок сообщения: Я разобралась!!! Ответить с цитатой

Спасибо НР за помощь, но я уже раньше это дело просекла, если интересно как, то ниже код: Wink

Private Sub Command16_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim sSQL As String

Set db = DAO.OpenDatabase("C:\MyDB.mdb")

If Combo23.Value <> "" And Combo25.Value <> "" Then

licn_kod = licn_kod.Value
god = Combo23.Value
mesiac = Combo25.Value

ssm = 0
sSQL = "SELECT * FROM prodaza;"

Set rs = db.OpenRecordset(sSQL)

With rs
.MoveFirst
Do While Not .EOF
If .Fields(0) = licn_kod And .Fields(4) = god And .Fields(3) = mesiac Then
S = .Fields(5)
ssm = ssm + S
End If
.MoveNext
Loop
End With

rs.Close
db.Close

Set rs = Nothing
Set db = Nothing
Text34.Value = Str(ssm)
Text14.Value = Str(ssm / 100 * Text12.Value)

Else: MsgBox "Input error!"
End If
End Sub

Very Happy
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...