Pou₧itφ Data Environment Designeru ve VB 6.0

Aktualizace zßznam∙

P°idat zßznam ji₧ umφme, nynφ je t°eba takΘ jej um∞t aktualizovat. Pro aktualizaci pou₧ijeme p∙vodnφ formulß° frmAdd, kter² ulo₧φme pod jin²m jmΘnem a lehce upravφme k≤d.

 

Na formulß° frmAdd klikn∞te prav²m tlaΦφtkem, zvolte Save As a jako novΘ jmΘno zapiÜte frmCor. Formulß° otev°ete a jeho nßzev p°epiÜte na frmCor a titulek na Up°esn∞nφ zßznamu. Teprve po zm∞n∞ jmΘna formulß°e p°idejte do projektu p∙vodnφ frmAdd, jinak se to potluΦe.

 

Udßlost Load formulß°e zm∞nφme takto:

 

Private Sub Form_Load()

   GetTitul.AddItem " "
   GetTitul.AddItem "Ing."
   GetTitul.AddItem "MUDr."
   GetTitul.AddItem "RNDr."
   GetTitul.AddItem "Bc."
   GetTitul.AddItem "Mgr."
   

   De.rssSeznam.MoveFirst
   De.rssSeznam.Find "Cislo = '" + frmMain.Seznam.SelectedItem.SubItems(2) + "'"
   Pozice = 0

   For i = 0 To GetTitul.ListCount
      If Trim(GetTitul.List(i)) = Trim(De.rssSeznam!Titul) Then
         Pozice = i
         Exit For
      End If
   Next i

   GetTitul.ListIndex = Pozice
   GetJmeno.Text = De.rssSeznam!Jmeno
   GetPrijmeni.Text = De.rssSeznam!Prijmeni
   GetCislo.Text = De.rssSeznam!Cislo

End Sub

Onen na prvnφ pohled vypadajφcφ nesmysln² cyklus zajiÜ¥uje vyhledßnφ sprßvnΘho titulu v combu. Jß vφm, ₧e je to primitivnφ a lze to ud∞lat jinak, ale tady to staΦφ.

 

Nynφ je t°eba zm∞nit ulo₧enφ zm∞ny p°i kliknutφ na tlaΦφtko Ok:

 

Private Sub OkButton_Click()

   Dim IndX As ListItem

   If Trim(GetPrijmeni.Text) = "" Then
       MsgBox "P°φjmenφ musφ b²t zadßno !!!", vbInformation + vbOKOnly,
       "Upozorn∞nφ"
       GetPrijmeni.SetFocus
       Exit Sub
   End If
   If Trim(GetCislo.Text) = "" Then
       MsgBox "╚φslo musφ b²t zadßno !!!", vbInformation + vbOKOnly,
       "Upozorn∞nφ"
      GetCislo.SetFocus
      Exit Sub
   End If

   If Not Trim(GetCislo.Text) =    Trim(frmMain.Seznam.SelectedItem.SubItems(2)) Then
         De.rssSeznam.MoveFirst
         De.rssSeznam.Find "Cislo = '" + GetCislo.Text + "'"
         If Not De.rssSeznam.EOF Then
             MsgBox "Toto Φφslo ji₧ bylo ulo₧eno !!!", vbExclamation + vbOKOnly, "Upozorn∞nφ"
            GetCislo.SelStart = 0
            GetCislo.SelLength = 20
            GetCislo.SetFocus
            Exit Sub
       End If
   End If

   With De.rssSeznam
       .MoveFirst
       .Find "Cislo = '" + frmMain.Seznam.SelectedItem.SubItems(2) + "'"
       !Titul = GetTitul.Text
       !Prijmeni = GetPrijmeni
       !Jmeno = GetJmeno.Text
       !Cislo = GetCislo.Text
       .Update
       .Close
       .Open
   End With

   frmMain.Seznam.SelectedItem.Text = GetPrijmeni.Text
   frmMain.Seznam.SelectedItem.SubItems(1) = GetJmeno.Text
   frmMain.Seznam.SelectedItem.SubItems(2) = GetCislo.Text
   frmMain.Seznam.Sorted = True
   frmMain.Seznam.SelectedItem.EnsureVisible
   Unload Me

End Sub

Jak vidφte, k≤d se oproti p°idßnφ zßznamu p°φliÜ nezm∞nil. D∙le₧it² je °ßdek, kde si testuji, zda je Φi nenφ Φφslo stejnΘ jako v seznamu na frmMain. Pokud toti₧ aktualizujete jinΘ hodnoty ne₧ Φφslo, je zbyteΦnΘ hledat duplicitu.

 

Nynφ je ji₧ jen t°eba formulß° pro aktualizaci zavolat z hlavnφho formu. Abyste se vyhnuli nßsledn²m chybßm p°i vyhledßvßnφ zßznamu, je dobrΘ se ujistit, ₧e v∙bec n∞jakΘ zßznamy existujφ a jsou v seznamu. Na tlaΦφtko pro otev°enφ aktualizaΦnφho formulß°e zapiÜte:

 

If Seznam.ListItems.Count > 0 Then
      frmCor.Show vbModal
End If

JeÜt∞ doporuΦujφ p°idat na udßlost DblCkick seznamu volßnφ aktualizace:

 

Toolbar1_ButtonClick Toolbar1.Buttons("Open")

Zßm∞rn∞ pou₧φvßm vyvolßnφ udßlosti click na toolbaru mφsto psanφ k≤du pro otevφrßnφ, proto₧e p°i pozd∞jÜφ zm∞n∞ nenφ t°eba hlφdat dva k≤dy.

 DalÜφ Zp∞t

Autor: The Bozena