Как исправить сценарий базы данных, чтобы он не обновлялся, чтобы добавить дополнительные данные в следующую строку при нажатии кнопки Command? - PullRequest
0 голосов
/ 24 января 2020

Итак, у меня есть сценарий базы данных, который я создаю с помощью пользовательской формы Excel для своей больницы, но по какой-то причине, когда я нажимаю кнопку «Добавить пациента» после того, как уже добавлен пациент, он не будет go переходить к следующей пустой строке, чтобы ввести новый пациент. Он остается в той же строке, пока я не закрою пользовательскую форму и не открою ее снова, затем он вводит новые данные в следующую строку, но все еще не обновляется до go для следующей строки, чтобы добавить новые данные. Ниже приведен код кнопки «Добавить пациента» и ссылка на мой документ Excel. Я не знаю, чего мне не хватает, и, возможно, мне просто нужен второй набор глаз.

Документ Excel

Private Sub cmdAddPatient_Click()
    With Me
        'check the caption
        If .cmdAddPatient.Caption = "Add Patient" Then
            'rData has been defined so to get the row to add data we just need to count the Rows in that Range & add 1
            lRw = rData.Rows.Count + 1
        End If
        'because we have declared rData as a Range we can actually treat it as we would aA WORKSHHEET, _
         So, rData.Cells(1,1) refers to the first cell in the Range, i.e. A5
        For iX = 1 To iCol
            rData.Cells(lRw, iX).Value = Me("txt" & iX).Value
            Me("txt" & iX).Value = Empty
        Next iX
        'autofit the columns of Data
        rData.Columns.AutoFit
        'update data range
        Set rData = Sheet1.Range("A5").CurrentRegion
        'Set rData = Sheet1.Cells(lOffset, 1).CurrentRegion
        .lstInfo.Clear
        .lstInfo.List = Sheet1.Range("A5").CurrentRegion.Offset(1).Value
        .txt1.Value = WorksheetFunction.Max(rData.Columns(1)) + 1
        .Hide
        .cmdAddPatient.Caption = "Add Data"
        .Show
    End With
End Sub

1 Ответ

0 голосов
/ 25 января 2020

Только что посмотрел вашу электронную таблицу. В конце кода вы меняете заголовок для своей кнопки:

.cmdAddPatient.Caption = "Add Data"

Поэтому, когда код запускается снова, кнопка говорит «Добавить данные», поэтому эти строки никогда не будут триггер для установки последней строки в качестве следующей строки ..

If .cmdAddPatient.Caption = "Add Patient" Then
        'rData has been defined so to get the row to add data we just need to count the Rows in that Range & add 1
        lRw = rData.Rows.Count + 1
    End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...