VB Code:
  1. Private Sub cmdDelete_Click()
  2. Dim lngIndex As Long
  3. Dim i As Long
  4.  
  5. If Admin = False Or User = True Then
  6.    
  7.     MsgBox "Sorry, unfortunately only someone with Administrator Access can perform that operation. Please contact your administrator for further queries."
  8.  
  9. Else
  10.  
  11.  
  12. If vbNo = MsgBox("Are you sure?", vbYesNo + vbQuestion, "About to Delete This address") Then
  13.     Exit Sub
  14. End If
  15. 'For lngIndex = 1 To Number - 1
  16. '    With AddressBook(lngIndex)
  17. '        .fullname = AddressBook(lngIndex + 1).fullname
  18. '        .address = AddressBook(lngIndex + 1).address
  19. '        .town = AddressBook(lngIndex + 1).town
  20. '        .postcode = AddressBook(lngIndex + 1).postcode
  21. '        .dob = AddressBook(lngIndex + 1).dob
  22. '        .house = AddressBook(lngIndex + 1).house
  23. '        .mobile = AddressBook(lngIndex + 1).mobile
  24. '    End With
  25. 'Next
  26.  
  27. 'Are you still using nextrec variable for storing array index reference? If so...
  28. Call ShiftDown(nextrec - 1)
  29.  
  30. Kill FileName
  31. Number = Number - 1
  32. Open FileName For Output As #1
  33.  
  34. For i = 1 To Number ' - 1
  35.     With AddressBook(i)
  36.         Write #1, .fullname
  37.         Write #1, .address
  38.         Write #1, .town
  39.         Write #1, .postcode
  40.         Write #1, .dob
  41.         Write #1, .house
  42.         Write #1, .mobile
  43.     End With
  44. Next i
  45. Close #1
  46. 'new
  47. With AddressBook(1)
  48.     Text1.Text = .fullname
  49.     Text2.Text = .address
  50.     Text3.Text = .town
  51.     Text4.Text = .postcode
  52.     Text5.Text = .dob
  53.     Text6.Text = .house
  54.     Text7.Text = .mobile
  55. End With
  56. End If
  57. End Sub
  58.  
  59. Public Sub ShiftDown(ByVal currpos As Long)
  60. Dim i As Long
  61.  
  62.    If currpos < LBound(AddressBook) Or currpos > UBound(AddressBook)
  63.  
  64.    For i = currpos To UBound(AddressBook) - 1  'start shift at current position
  65.       With AddressBook(i)
  66.          .fullname = AddressBook(i + 1).fullname
  67.          .address = AddressBook(i + 1).address
  68.          .town = AddressBook(i + 1).town
  69.          .postcode = AddressBook(i + 1).postcode
  70.          .dob = AddressBook(i + 1).dob
  71.          .house = AddressBook(i + 1).house
  72.          .mobile = AddressBook(i + 1).mobile
  73.       End With
  74.    Next
  75.    ReDim Preserve AddressBook(UBound(AddressBook) - 1)
  76. End Sub