|
|
|
| Сначала первый
есть формы для ввода данных
Private Sub Form_Load()
Form.RecordSource = "pen"
Me.id.ControlSource = "nomer_sch1"
Me.order.ControlSource = "ID_IZM"
Me.Date.ControlSource = "DATA_OPL"
Me.enid.ControlSource = "IDENERGY"
Me.Gumar.ControlSource = "SUMA"
end sub
и при нажатии на кнопку
private Sub only_save_Click()
If (Form.Dirty) Then
DoCmd.RunCommand acCmdSaveRecord
End If
Me.enid = DLookup(" [usertmp]![userid] ", "usertmp", " [usertmp]![id] = " & 1)
DoCmd.OpenQuery "ensumadd", acViewNormal, acAdd
Forms("en").Recordset.AddNew
Me.id.SetFocus
End Sub
но введоные даные в поле gumar остаёца но сохранаюца | |
|
| |
|
|
|
| подробнее
что за форма "en"?
как называется форма в которой все это выполняется?
что делает запрос ensumadd ? | |
|
| |
|
|
|
| для меня странно что при загрузке формы загружается инфа которую форма сама должна грузить по умолчанию
при клике вы сначала сохраняете запись - далее некоему полю присваиваете значение
Me.enid = DLookup ......... а поле между прочим связано с таблой
в каком аксе вы работаете? | |
|
| |
|
|
|
| Форма en и есть та форма а запрос добавлает в дркгкю базу инфу из 2 полей работаю в 2007 | |
|
| |
|
|
|
| вместо
Forms("en").Recordset.AddNew
попробуй так
DoCmd.GoToRecord acForm, "en", acNewRec | |
|
| |
|
|
|
| Нет так уже пробывал не помагает | |
|
| |
|
|
|
| а сама форма как загружается? откуда мы знаем, что находимся на новой записи? | |
|
| |
|
|
|
| Дядя Федор всё сохранаеца но в поле Gumar астаюца даные если в ручную удалить удалаеца с таблицы | |
|
| |
|
|
|
| чего-то вы батенька не договариваете
я например въехать не могу
вроде все что написано - правильно
может примерчик приложите | |
|
| |
|
|
|
| Получается форма связана с таблицей, потому и удаляются записи из таблицы
Form.RecordSource = "pen"
Или они (записи с полей) туда не попадают.
А чё так всё запутано.
Я до КОНЦА так и не въехал - чё не устраивает.....
Может просто опишите задачу - что надо ввести и где сохранить.
Это же вроде самое простое, что делается без кода вообще....
Создать форму на основе таблицы - можно мастером и вводить данные в таблицу.
Кнопки перехода по записям будут и всё такое прочее. | |
|
| |
|
|
|
|
ник: час
Получается форма связана с таблицей, потому и удаляются записи из таблицы
Form.RecordSource = "pen"
Или они (записи с полей) туда не попадают.
| они туда пападаёт а в форме есть много чево что связно с таблицой но все но после каманды Forms("en").Recordset.AddNew данные остаюца только в этом поле | |
|
| |
|
|
|
| АААААААААААААА
Ну тык оно - не связано ни с чем
В СВОЙСТВА ПОЛЯ НАДО ВПИСАТЬ ДААНЫЕ = ИМЯ ПОЛЯ ТАБЛИЦЫ
Или поменять имя поля Gumar - Gumar_1 | |
|
| |
|
|
|
| я это и зделал но програмно Me.Gumar.ControlSource = "SUMA" | |
|
| |
|
|
|
|
Me![Gumar_1].ControlSource = "SUMA"
|
| |
|
| |
|
|
|
| какая разница шас папробую | |
|
| |
|
|
|
| Уважаемый!
Без наличия "в руках" - вашей программы
И с наличием у Вас трудностей в изъяснении на Русском языке.
Очень трудно разобраться - что именно происходит и тем более - давать совет как это исправить.
Самый хороший способ - получить достоверную информацию - по интересующему Вас вопросу - это высылать на форум маленький файл XXX.mdb
В котором одна таблица и одна форма с кодом внутри - (для обработки событий).
Тогда Вы быстрее получите ответный файл и решение по Вашему вопросу. | |
|
| |
|
|
|
| +1000
несколько раз вчитывался в проблему - так до конца и не понял чего хочет афтар от Акса
тяпница | |
|
| |
|
|
|
| лутше я сам найду проблему я не из рассии а рускии унас инастраныи язык ... | |
|
| |
|
|
|
| тут неплохо говорят на VBA,
особенно если есть пример базы с тестовыми данными
данные не важно на каком языке, но объекты лучше на английском :) | |
|
| |
|
190 Кб. |
|
| Фото 1 : в форме ведени даные после нажатия на кнопку всё сахранаеца но | |
|
| |
|
152 Кб. |
|
| астаёца одна запис ано тоже сахранаеца но если удалить врчную удалаеца из таблицы вот фото но если преместит окно програмы оно исчезает | |
|
| |
|
|
|
| я з неньки України, і шо?
выложи пример (форму кусочек таблы и запос) - с ними будет намного понятней.
п.с. для чего каждый раз при загрузке формы переприсваивать ее RecordSourse
вот это также туманно
Me.enid = DLookup(" [usertmp]![userid] ", "usertmp", " [usertmp]![id] = " & 1)
DoCmd.OpenQuery "ensumadd", acViewNormal, acAdd
Forms("en").Recordset.AddNew
Me.id.SetFocus
|
| |
|
| |
|
|
|
| kot_k_k в коде проблем нету | |
|
| |
|
|
|
| Да я знаю что можно и с помушю аксса без вба здать форме record source и в поле control source через но вба очень быстро работаеть прям летит! | |
|
| |
|
|
|
| сдается мне что где-то висит кусочек кода который данному полю .Gumar ставит значение по умолчанию DefaultValue либо в форме либо в таблице
без примера точнее сказать не могу | |
|
| |
|
197 Кб. |
|
| нет говарю же проблема не в коде! вот пример если не растенуть поле вот фото всё работает | |
|
| |
|
|
|
|
Me.Gumar.ControlSource = "SUMA"
|
а нет ли из-за вот этого прблемы?
мы присваиваем форме полю значение!
возможно получется не ="Summa" - а = 1000
хотя не должно | |
|
| |
|
|
|
| нет не ветом там всё работает | |
|
| |
|
|
|
| проверь -
выведи на форму поле Summa (оно должно быть т.к. у тебя Form.RecordSource = "pen") - и проверь как оно себя ведет при добавлении новой записи. | |
|
| |
|
|
|
|
ник: kot_k_k
проверь -
выведи на форму поле Summa (оно должно быть т.к. у тебя Form.RecordSource = "pen") - и проверь как оно себя ведет при добавлении новой записи.
|
не понял | |
|
| |
|
40 Кб. |
|
| в списке должно быть все поля таблицы pen - перетащи его на форму и посмотри как ведет себя Summa при добавлении новой записи - если она сбрасывается то дело в поле Gumar если тоже остается - смотри таблу | |
|
| |
|
|
|
|
| но если не растенуть поле всё работает !!!!!!!!!!! | |
|
| |
|
|
|
| а вы можете выложить весь код модуля формы
(все события формы и полей) | |
|
| |
|
|
|
| да вот
Option Compare Database
Option Explicit
Private Sub erse_Click()
On Error Resume Next
delen
If (IsNumeric(order)) Then
DoCmd.RunCommand acCmdUndo
End If
DoCmd.GoToControl "id"
End Sub
Private Sub Form_Load()
Form.RecordSource = "pen"
Me.id.ControlSource = "nomer_sch1"
Me.order.ControlSource = "ID_IZM"
Me.Date.ControlSource = "DATA_OPL"
Me.enid.ControlSource = "IDENERGY"
Me.Gumar.ControlSource = "SUMA"
Dim r1
Dim r2
Dim r3
r1 = DLookup("[Usysdb]![db]", "Usysdb", "[Usysdb]![id]=" & (2))
r2 = DLookup("[UsysdbProtect]![dbz]", "Usysdbprotect", "[UsysdbProtect]![id]=" & (3))
r3 = DLookup("[UsysdbProtect]![dbx]", "Usysdbprotect", "[UsysdbProtect]![id]=" & (3))
If (r1 <> r2 And r1 <> r3) Then
Beep
MsgBox "Error 1001: Ask your administrator", vbOKOnly, ""
End If
Forms("en").Recordset.AddNew
Me.id.SetFocus
DoCmd.Maximize
End Sub
Private Sub id_AfterUpdate()
Dim dolg As Long
Me.aah = DLookup(" [eldb1]![fio] ", "eldb1", " [eldb1]![nomer_sch1] = " & Nz(Me.id, 0))
Me.adress = DLookup(" [eldb1]![adres] ", "eldb1", " [eldb1]![nomer_sch1] = " & Nz([id], 0)) & " " & DLookup(" [eldb1]![dom] ", "eldb1", " [eldb1]![nomer_sch1] = " & Nz([id], 0)) & " " & DLookup(" [eldb1]![kvartira] ", "eldb1", " [eldb1]![nomer_sch1] = " & Nz([id], 0))
Me.cuc = DLookup(" [eldb2]![pokazpr] ", "eldb2", " [eldb2]![nomer_sch] = " & Nz([id], 0)) & " | " & DLookup(" [eldb2]![pokaz] ", "eldb2", " [eldb2]![nomer_sch] = " & Nz([id], 0))
Me.rasx = DLookup(" [eldb2]![suma] ", "eldb2", " [eldb2]![nomer_sch] = " & Nz([id], 0)) & [t1] & DLookup(" [eldb2]![data_opl] ", "eldb2", " [eldb2]![nomer_sch] = " & Nz([id], 0))
Me.rasxdram = DLookup(" [eldb2]![raznica] ", "eldb2", " [eldb2]![nomer_sch] = " & Nz([id], 0)) & t4 & DLookup(" [eldb2]![raznicasum] ", "eldb2", " [eldb2]![nomer_sch] = " & Nz([id], 0)) & t3 & DLookup(" [eldb2]![tar] ", "eldb2", " [eldb2]![nomer_sch] = " & Nz([id], 0)) & t2
dolg = DLookup(" [eldb2]![dolg] ", "eldb2", " [eldb2]![nomer_sch] = " & Nz([id], 0))
If ([dolg] < 0) Then
Me.hh = (-[dolg]) & t5
End If
If ([dolg] > 0) Then
Me.hh = [dolg] & t6
End If
If ([dolg] = 0) Then
Me.hh = [dolg] & t7
End If
End Sub
Private Sub save___print_Click()
If (IsNull(id)) Or (id = 0) Or (id < 0) Then
Beep
MsgBox "Ââåäèòå àáîíåíòñêèé íîìåð", vbInformation, ""
DoCmd.GoToControl "id"
Exit Sub
End If
If (IsNull(aah) And IsNull(adress)) Or (IsError(aah) And IsError(adress)) Then
Beep
MsgBox "Àáîíåíòñêèé íîìåð îòñóñòâóåò", vbInformation, ""
DoCmd.GoToControl "id"
Exit Sub
End If
If (IsNull(Gumar)) Or (Gumar = 0) Or (Gumar < 0) Then
Beep
MsgBox "Ââåäèòå ñóììó", vbInformation, ""
DoCmd.GoToControl "gumar"
Exit Sub
End If
If (Form.Dirty) Then
DoCmd.RunCommand acCmdSaveRecord
End If
Me.enid = DLookup(" [usertmp]![userid] ", "usertmp", " [usertmp]![id] = " & 1)
DoCmd.OpenQuery "ensumadd", acViewNormal, acAdd
DoCmd.OpenReport "enandor", acViewNormal, "", "", acNormal
delen
Forms("en").Recordset.AddNew
Me.id.SetFocus
End Sub
Private Sub save___print_KeyPress(KeyAscii As Integer)
If (IsNull(id)) Or (id = 0) Or (id < 0) Then
Beep
MsgBox "Ââåäèòå àáîíåíòñêèé íîìåð", vbInformation, ""
DoCmd.GoToControl "id"
Exit Sub
End If
If (IsNull(aah) And IsNull(adress)) Or (IsError(aah) And IsError(adress)) Then
Beep
MsgBox "Àáîíåíòñêèé íîìåð îòñóñòâóåò", vbInformation, ""
DoCmd.GoToControl "id"
Exit Sub
End If
If (IsNull(Gumar)) Or (Gumar = 0) Or (Gumar < 0) Then
Beep
MsgBox "Ââåäèòå ñóììó", vbInformation, ""
DoCmd.GoToControl "gumar"
Exit Sub
End If
If (Form.Dirty) Then
DoCmd.RunCommand acCmdSaveRecord
End If
Me.enid = DLookup(" [usertmp]![userid] ", "usertmp", " [usertmp]![id] = " & 1)
DoCmd.OpenQuery "ensumadd", acViewNormal, acAdd
DoCmd.OpenReport "enandor", acViewNormal, "", "", acNormal
delen
Forms("en").Recordset.AddNew
Me.id.SetFocus
End Sub
Private Sub Gumar_Click()
If (IsNull(id)) Or (id = 0) Or (id < 0) Then
Beep
MsgBox "Ââåäèòå àáîíåíòñêèé íîìåð", vbInformation, ""
DoCmd.GoToControl "id"
Exit Sub
End If
If (IsNull(aah) And IsNull(adress)) Or (IsError(aah) And IsError(adress)) Then
Beep
MsgBox "Àáîíåíòñêèé íîìåð îòñóñòâóåò", vbInformation, ""
DoCmd.GoToControl "id"
Exit Sub
End If
End Sub
Private Sub Gumar_KeyPress(KeyAscii As Integer)
If (IsNull(id)) Or (id = 0) Or (id < 0) Then
Beep
MsgBox "Ââåäèòå àáîíåíòñêèé íîìåð", vbInformation, ""
DoCmd.GoToControl "id"
Exit Sub
End If
If (IsNull(aah) And IsNull(adress)) Or (IsError(aah) And IsError(adress)) Then
Beep
MsgBox "Àáîíåíòñêèé íîìåð îòñóñòâóåò", vbInformation, ""
DoCmd.GoToControl "id"
Exit Sub
End If
End Sub
Private Sub only_save_Click()
If (IsNull(id)) Or (id = 0) Or (id < 0) Then
Beep
MsgBox "Ñ íà÷àëà ââåäèòå èìÿ", vbInformation, ""
DoCmd.GoToControl "id"
Exit Sub
End If
If (IsNull(aah) And IsNull(adress)) Or (IsError(aah) And IsError(adress)) Then
Beep
MsgBox "Àáîíåíòñêèé íîìåð îòñóñòâóåò", vbInformation, ""
DoCmd.GoToControl "id"
Exit Sub
End If
If (IsNull(Gumar)) Or (Gumar = 0) Or (Gumar < 0) Then
Beep
MsgBox "Ââåäèòå ñóììó", vbInformation, ""
DoCmd.GoToControl "gumar"
Exit Sub
End If
If (Form.Dirty) Then
DoCmd.RunCommand acCmdSaveRecord
End If
Me.enid = DLookup(" [usertmp]![userid] ", "usertmp", " [usertmp]![id] = " & 1)
DoCmd.OpenQuery "ensumadd", acViewNormal, acAdd
delen
DoCmd.GoToRecord acForm, "en", acNewRec
DoCmd.GoToControl "id"
End Sub
Private Sub Command289_Click()
If (IsNumeric(order)) Then
DoCmd.RunCommand acCmdUndo
End If
DoCmd.Close acForm, "en"
DoCmd.OpenForm "finden", acNormal, "", "", , acNormal
End Sub
|
| |
|
| |
|
|
|
| посмотрите все-таки значения по умолчанию поля gumar на форме и поля suma в таблице | |
|
| |
|
|
|
| Почему файл XXX.mdb не прикрепите к сообщению?
Так гадать - можно до бесконечности.
В чём трудность отправки файла?
Таблица с 3-5 записями
И форма с кодом в ней
Пришлите файл.
Язык VBA - он нам всем понятен! (Explorer) | |
|
| |
|
|
|
| Баюсь не смаго в первую очерд accdb во втарую все формы друг к другы связыни размер в архиве (вин рар) почти 70мб(65.5 MB (68,718,039 bytes) и ещё интернет плахой это клиентская без аснавной базы | |
|
| |
|
|
|
| а если
на копии базы
сервис - служебные программы - сжать и востановить базу данных
а потом еще и в архив
сколько займет | |
|
| |
|
|
|
|
ник: snipe
а если
на копии базы
сервис - служебные программы - сжать и востановить базу данных
а потом еще и в архив
сколько займет
|
у миня при закрытии база жимается | |
|
| |
|
|
|
| Нужен чистый, новый файл XXX.mdb (accdb)
В нём:
Нужна одна форма(en),
одно поле(Gumar),
одна таблица(pen)
И код в форме | |
|
| |
|
|
|
| Всем спасибо решил проблему но! мне ни понятно как и почиму так было и почиму этим спосыбом проблема решаеца | |
|
| |
|
|
|
| а нам то как интересно что было | |
|
| |
|
|
|
| в поле текст водица с правой староны я паимнял на левую проблема решилась но почему ?
Да страный этот акссес .... | |
|
| |
|
|
|
| у тебя ширина поля была больше ширины формы ?
по умолчанию цыфры вводятся с правой стороны поля.
но вопрос - значение осталось старым или стало обнуляться в проблемном поле Gumar?
п.с. 2007 акс - еще то извращение | |
|
| |
|
|
|
|
| П.с. оди вапрос вазможно ли в вба в msgbox писать армянский язык? | |
|
| |
|
|
|
| попробуй
msgbox "текст"
по идее должно быть можно | |
|
| |
|
|
|
|
| а ты через copy paste делал что-ли | |
|
| |
|
|
|
|
| в редакторе vba
tools-options
вкладка editor format
поле fonts
чего там написано | |
|
| |
|
|
|
| было похожее с прибалтийским языком - нужно писать каждую букву через функцию ChrW()
ChrW(код) & ChrW() & ChrW()
http://hiprog.com/forum/read.php?id_forum=1&id_theme=6340&page=1 | |
|
| |
|
|
|
| ага
вот только данные он умудряется на родном языке вносить | |
|
| |
|
|
|
| Это скопировано не на английской раскладке клавы. | |
|
| |
|
|
|
| у меня всё на англиском просто хачу знать можна ли в msgbox-е на армянском писать да и только а шрифт стоить армянкиие | |
|
| |
|
27 Кб. |
|
| А в блокнот - пишет Армянские буквы?
А в таблице символов - есть армянские буквы?
Можно - как Кот_К_К выше предлагает.
ChrW(&H15D) | |
|
| |
|
|
|
| Да наверно зделую так как Кот_К_К сказал | |
|
| |