Database probleem!

Status
Niet open voor verdere reacties.

dennisv12

Gebruiker
Lid geworden
20 dec 2015
Berichten
8
Hallo allemaal,

Ik heb een code gemaakt voor het aanmaken van een database.
In TextBox2 wordt een nummer ingevuld.
Nu zou ik graag willen dat het nummer dat in TextBox2 komt, wordt vergeleken met nummers uit een kolom op het tabblad ''Database", wanneer deze hierin voorkomt moet er een "x" komen in de 3de, 4de of 5de kolom afhankelijk van of er in de kolom daarvoor al een "x" staat.
Dit is om aan te geven of dit de 1ste, 2de of 3de melding van dit betreffende apparaat is.
Ik hoop dat jullie mij hiermee kunnen helpen. Alvast bedankt voor het meedenken!

Groetjes Dennis

Code:
Private Sub CommandButton1_Click()
        Dim LastRow As Object
'controleren of er tekst in de textboxen is
If TextBox1 = "" Then
MsgBox "Vul a.u.b. uw naam in"
Exit Sub
End If
If TextBox2 = "" Then
MsgBox "Vul a.u.b. het terminal nummer in"
Exit Sub
End If
If TextBox3 = "" Then
MsgBox "Omschrijf het probleem"
Exit Sub
End If


          Set LastRow = Blad1.Range("a65536").End(xlUp)
'tekst in logboek sheet zetten
          LastRow.Offset(1, 0).Value = ComboBox1.Text
          LastRow.Offset(1, 1).Value = TextBox1.Text
          LastRow.Offset(1, 2).Value = TextBox2.Text
          LastRow.Offset(1, 3).Value = TextBox3.Text
          LastRow.Offset(1, 4).Value = Now
          MsgBox "Melding gemaakt"

          response = MsgBox("Wilt u nog een melding maken?", _
              vbYesNo)

          If response = vbYes Then
              ComboBox1.Text = ""
              TextBox1.Text = ""
              TextBox2.Text = ""
                TextBox3.Text = ""

              ComboBox1.SetFocus

          Else
              Unload Me
          End If

      End Sub
Bekijk bijlage database.xlsm
 
Laatst bewerkt:
Als jij met een voorbeeldbestandje komt zal er zeker iemand kunnen helpen.
 
Ik heb je textbox verruild voor een combobox.
Je kan de box gebruiken alsook nummers toevoegen.

Bekijk het maar eens.
 

Bijlagen

1 keer het rijnummer opzoeken is voldoende.
Code:
    With Sheets("Database")
        r = Application.Match(CLng(ComboBox2), .Columns(2), 0)
        If Not IsError(r) Then
            .Cells(r, Application.Max(4, .Cells(r, 7).End(xlToLeft).Column)).Offset(, 1) = "x"
        Else
            .Cells(.Rows.Count, 2).End(xlUp).Offset(1).Resize(, 4) = Array(CLng(ComboBox2), "", ComboBox1, "x")
        End If
    End With
 
Ik had eerst dit er staan.
Code:
If IsError(Application.Match(CLng(ComboBox2), Columns(2), 0)) Then
    Cells(Rows.Count, 2).End(xlUp).Offset(1).Resize(, 4) = Array(CLng(ComboBox2), "", ComboBox1, "x")
 Else
    Cells(ComboBox2.ListIndex + 5, Application.Max(4, Cells(ComboBox2.ListIndex + 5, 7).End(xlToLeft).Column)).Offset(, 1) = "x"
  End If

Waarom ik dat nog maar weer veranderd heb (Joost mag het weten).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan