Текстовые поля не сохраняют значения - PullRequest
0 голосов
/ 05 февраля 2020

новичок на форумах.

У меня проблема с базой данных, которую я разрабатываю, которая будет регистрировать, когда на принтере выполняется профилактическое обслуживание. Все работает до такой степени, что я пытаюсь переместить значения в другую форму. То, что я пытаюсь сделать, это взять 2 значения из текстовых полей в 1 форме и переместить их в другую форму. Я могу сохранить эти значения в глобальных переменных (это был единственный способ заставить это работать), и я могу получить значения из глобальных переменных во 2-й форме, и они будут отображаться в текстовых полях, как я хочу. Моя проблема в том, что когда я закрываю форму или закрываю базу данных, глобальные переменные теряют свои значения, поэтому я попытался получить текстовые поля для сохранения значений, используя свойства .defaultvalue и .value, но это не работает. Вот мой код, который отображает глобальные переменные в текстовых полях:

    Private Sub Form_load()

'Variables for this form

'301

Dim date301Jan As Date
Dim date301Apr As Date
Dim date301Jul As Date
Dim date301Oct As Date
Dim data301TechJan As String


'Converting global variables to the text boxes in this form
date301Jan = var301Jan
date301Apr = var301Apr
date301Jul = var301Jul
date301Oct = var301Oct
data301TechJan = var301TechJan

Me.txt301Jan = date301Jan
Me.txt301Apr = date301Apr
Me.txt301Jul = date301Jul
Me.txt301Oct = date301Oct
Me.txt301TechJan = data301TechJan



End Sub

Это работает, но значения в текстовых полях не сохраняются. Я пробовал другие способы сохранить значения, и они не работают. Я пробовал скрытую форму и даже таблицу, чтобы получить значения, но есть ограничения для таблиц, и моя форма не может извлекать из нескольких таблиц ... Я рассчитал, что мне нужно намного больше лимита 255. Я также приложу пи c моей формы "конец игры". Я хотел бы настроить эту форму, чтобы после ее заполнения пользователю предлагалось сохранить ее, а затем очистить все, чтобы начать заново. Не берите в голову пи c, я еще не уполномочен публиковать изображения.

В любом случае, я постараюсь описать пи c как можно лучше. У меня есть форма с несколькими компьютерами с 8 текстовыми полями и 4 надписями на машину. Ярлыки - это месяцы, когда должен быть PM. 4 текстовых поля предназначены для квартала (даты), когда был проведен PM, а остальные 4 для технологии, которая отвечала за завершение PM. Всего 64 машины, поэтому форма довольно большая.

Я искал несколько форумов, и я увидел 1, который сказал, что замените "end sub" на "exit sub" и посмотрите, работает ли он, но это не так , Отладчик говорит что-то вроде «ожидаемый конец sub». Я не закодировал остальные машины, потому что не могу сохранить это.

Буду признателен за любую информацию о том, как решить мою проблему.

1 Ответ

0 голосов
/ 05 февраля 2020

понял, что ярлыки будут работать. Я использовал «form1» и открыл «form2» в режиме конструктора, скрыл и добавил код vba, чтобы редактировать заголовок надписей, а затем сохранил «form2». Я закрыл и открыл «form2» и подписи были сохранены, как я хочу. Я могу избавиться от своих глобальных переменных, так как они мне больше не нужны. Вот как выглядит «form1»:

Private Sub Push_Click()
'Variable for date if PM was completed outside of required completion month

Dim newdate As Date
Dim newTech As String


'When Push is clicked, adds all values to the Log Table

    CurrentDb.Execute "INSERT INTO Log([GE Printer], [Date Completed], [Report Type], [Pre 12mW], [Pre 25mW], [Pre 38mW], [Pre 50mW], [Pre 75mW], [Pre 100mW], [Pre 150mW], [Pre 200mW], [Post 12mW], [Post 25mW], [Post 38mW], [Post 50mW], [Post 75mW], [Post 100mW], [Post 150mW], [Post 200mW], [X Notch Freq], [X Gain], [X FF], [X VFF], [Y Notch Freq], [Y Gain], [Y FF], [Y VFF], [Encoder Cal], [Laser SN], [Laser Head SN], [Install HRS], [Current HRS], [Warranty HRS], [Blade Gap], [Blade Gap Offset], Threshold, [Laser RFID], [Cart RFID], [VAT RFID], [Old X Beamsize], [New X Beamsize], [Old Y Beamsize], [New Y Beamsize], ADC, Notes, [Laser Focus], Technician, [Total Laser HRS], [Printer SN]) " & _
               " VALUES(" & Me.GE_ & ",'" & Me.txtDate & "','" & Me.txtReport & "','" & Me.Pre12 & "','" & Me.Pre25 & "','" & Me.Pre38 & "','" & Me.Pre50 & "','" & Me.Pre75 & "','" & Me.Pre100 & "','" & _
               Me.Pre150 & "','" & Me.Pre200 & "','" & Me.Post12 & "','" & Me.Post25 & "','" & Me.Post38 & "','" & Me.Post50 & "','" & Me.Post75 & "','" & Me.Post100 & "','" & Me.Post150 & "','" & _
               Me.Post200 & "','" & Me.XNotch & "','" & Me.XGain & "','" & Me.XFF & "','" & Me.XVFF & "','" & Me.YNotch & "','" & Me.YGain & "','" & Me.YFF & "','" & Me.YVFF & "','" & Me.Encoder & "','" & _
               Me.SN & "','" & Me.HeadSN & "','" & Me.Install & "','" & Me.Current & "','" & Me.Warranty & "','" & Me.PhyGap & "','" & Me.Offset & "','" & Me.Threshold & "','" & Me.Laser & "','" & _
               Me.Cart & "','" & Me.Vat & "','" & Me.BeforeX & "','" & Me.AfterX & "','" & Me.BeforeY & "','" & Me.AfterY & "','" & Me.ADC & "','" & Me.Notes & "','" & Me.Focus & "','" & Me.Tech & "','" & _
               Me.Total & "','" & Me.Asset_ & "')"

newTech = CStr(Me.Tech)
DoCmd.OpenForm "PMsch", acDesign, , , , acHidden

'Applies info to the PMSch form

    '301

    If Me.GE_ = "301" Then
        If DatePart("m", Me.txtDate) = 1 Then
            Forms("PMsch")("lbl301Jan").Caption = Me.txtDate
            Forms("PMsch")("lbl301TechJan").Caption = newTech
        ElseIf DatePart("m", Me.txtDate) = 4 Then
            Forms("PMsch")("lbl301Apr").Caption = Me.txtDate
            Forms("PMsch")("lbl301TechApr").Caption = newTech
        ElseIf DatePart("m", Me.txtDate) = 7 Then
            Forms("PMsch")("lbl301Jul").Caption = Me.txtDate
            Forms("PMsch")("lbl301TechJul").Caption = newTech
        ElseIf DatePart("m", Me.txtDate) = 10 Then
            Forms("PMsch")("lbl301Oct").Caption = Me.txtDate
            Forms("PMsch")("lbl301TechOct").Caption = newTech
        Else
            newdate = InputBox("Please input Date as m/d/yyyy.")
            If DatePart("m", newdate) = 12 Or 2 Then
                Forms("PMsch")("lbl301Jan").Caption = newdate
                Forms("PMsch")("lbl301TechJan").Caption = newTech
            ElseIf DatePart("m", newdate) = 3 Or 5 Then
                Forms("PMsch")("lbl301Apr").Caption = newdate
                Forms("PMsch")("lbl301TechApr").Caption = newTech
            ElseIf DatePart("m", newdate) = 6 Or 8 Then
                Forms("PMsch")("lbl301Jul").Caption = newdate
                Forms("PMsch")("lbl301TechJul").Caption = newTech
            ElseIf DatePart("m", newdate) = 9 Or 11 Then
                Forms("PMsch")("lbl301Oct").Caption = newdate
                Forms("PMsch")("lbl301TechOct").Caption = newTech
            End If
        End If
    End If

Теперь мне просто нужно закончить sh кодирование всего остального и подготовиться к тестированию с другими специалистами. Документ для закрытия / сохранения находится в самом низу последнего принтера, поэтому он не отображается в моем коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...