Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Tietokannassa "ei olevat"

Shart [13.05.2006 14:29:17]

#

Mitenköhän saisin koodiin sellaisen if silmukan että herjaisi että kyseistä henkilöä ei ole jne... tuossa yritelmäni ja "kommentteina" yritykset... aloittelija kun olen =) nyt kyllä hakee jos sattuu osumaan mutta en saa onnistumaan tuota jossa herjais "kyseistä...."???? olisiko helppijä teillä guruilla?

Private Sub cmdEtsi_Click()
On Error GoTo Virhe
Dim Hakunimi As String
Dim Kirjanmerkki As Variant
Dim Eka As String
Dim Vika As String
Kirjanmerkki = datJasenet.Recordset.Bookmark
'datJasenet.Recordset.MoveLast
'Vika = datJasenet.Recordset("Sukunimi")
datJasenet.Recordset.MoveFirst 'siirtyy ensimmäiseen joka haussa
Eka = datJasenet.Recordset("Sukunimi")
Hakunimi = InputBox("Anna haettavan jäsenen sukunimi ", "Jäsenhaku")
'If Hakunimi >= Eka And Hakunimi <= Vika Then
datJasenet.Recordset.Find "Sukunimi='" & Hakunimi & "'"
'Else
'MsgBox "Kyseistä henkilöä ei ole rekisterissä, tarkista sukunimi!", vbOKOnly, "VIRHEILMOITUS"
'End If

Lopetus:
  Exit Sub
Virhe:
  MsgBox "Annoit virheellisen syöttötiedon PÖLHÖ!", vbOKOnly, "VIRHEILMOITUS"
  Resume Lopetus

End Sub

Metabolix [13.05.2006 15:45:36]

#

If ei ole silmukka vaan ehto, ja suuremmuusvertailut eivät sovellu tuohon lainkaan.

Aseta muuttujan arvoksi False. Käy sopivalla silmukalla läpi kaikki listan vaihtoehdot ja vertaa jokaisen kohdalla syötteeseen. Jos löytyy sama, aseta muuttujan arvoksi True ja lopeta silmukka. Silmukan ulkopuolella tarkista muuttujan arvo ja herjaa tarpeen mukaan.

En tuota kyseistä komponenttia tunne, mutta varmasti sillä on parempikin tapa. Find-funktio tai vastaava ainakin kuulostaisi lupaavalta välineeltä.

neau33 [14.05.2006 10:45:57]

#

Heippa Shart!

Kokeile jotain ton alla olevan tapaista...

Private Sub Command1_Click ()

  Dim Hakuehto
  If Not Data1.Recordset.BOF Then Data1.Recordset.MoveFirst
    Hakuehto = InputBox$("Syötä hakunimi:", "Etsi")
    If Trim$(Hakuehto) <> "" Then
      Hakuehto = "Sukunimi = '" + Hakuehto + "'"
      Data1.Recordset.FindFirst Hakuehto 'tai .FindNext
    End If
   If Data1.Recordset.NoMatch Then
     MsgBox "Nimeä ei löydy!", vbOKOnly, "VIRHEILMOITUS"
   End if
  End if

End Sub

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta