Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: MemoriesFrame
Здравствуйте!
Помогите пожалуйста! Заранее благодарен любому совету,помощи, участию!

Задание к форме:
Создать пользовательскую форму, позволяющую добавлять информацию об исполненных заказах выбранного сотрудника(код заказа, код сотрудника, дата размещения, дата исполнения, стоимость заказа, количество товарных позиций в заказе) из подчиненной формы в элемент управления список СписокЗаказов.
Реализовать:
Добавление и Удаление заказов из элемента управления СписокЗаказов.

Впрц в этом и существует загвостка:
Добавление происходит нормально - работает, а вот удаление нет.
Когда нажимаю удалить, то иногда удаляет нормально(всю строку), а иногда только 5 из 6 столбцов(см приложенный рисунок)

Прилагаю процедуры обработки кнопок Добавить и удалить.
Private Sub cmdAdd_Click()
    'добавление заказа в список исполненных заказов
    Dim i As Integer
    If Not IsNull(Заказы_1!КодЗаказа) Then
        With СписокЗаказов
            For i = 0 To .ListCount - 1
                If .ItemData(i) = "" & Заказы_1!КодЗаказа & "" Then
                    .Value = .ItemData(i)
                    .Selected(i) = True
                    MsgBox "Заказ: " _
                        & vbCrLf & .Column(0, i) _
                        & vbCrLf & "уже занесен в список ", _
                          vbInformation, "Администратор!"
                    Exit Sub
                End If
            Next i
            'добавить заказ в список исполненных заказов
            'с размещением в начале списка
            .AddItem Item:=Заказы_1!КодЗаказа & ";" & Заказы_1!КодСотрудника & ";" & Заказы_1!ДатаРазмещения _
                & ";" & Заказы_1!ДатаИсполнения & ";" & Format(Заказы_1!СтоимостьЗаказа) & ";" _
                & Заказы_1!КолТоварныхПозиций & ";", Index:=0
            'выделить первую строку в списке
            .Selected(0) = True
            .Value = .ItemData(0)
        End With
    Else
        MsgBox "Необходимо выбрать заказ", _
            vbInformation, "Администратор!"
    End If
End Sub


Private Sub cmdDelete_Click()
    'удаление заказа из списка исполненных заказов
    With СписокЗаказов
        If .ListCount = 0 Then
            MsgBox "В списке нет ни одного заказа", _
                vbExclamation, "Администратор!"
        ElseIf IsNull(.Value) Then
            MsgBox "Необходимо выбрать заказ в списке", _
            vbInformation, "Администратор!"
        Else
            If vbYes = MsgBox("Удалить из списка " _
                    & vbCrLf & "заказ: " & .Column(0, .ListIndex), _
                    vbQuestion + vbYesNo + vbDefaultButton2, _
                    "Администратор!") Then
                .RemoveItem .ListIndex
                If Not .ListCount = 0 Then
                    .Value = .ItemData(0)
                    .Selected(0) = True
                End If
            End If
        End If
    End With
End Sub


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.