Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Удаление с ListBox(MsAccess 2003)
 
 автор: MemoriesFrame   (07.05.2013 в 17:26)   личное сообщение
144 Кб.
 
 

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

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

Впрц в этом и существует загвостка:
Добавление происходит нормально - работает, а вот удаление нет.
Когда нажимаю удалить, то иногда удаляет нормально(всю строку), а иногда только 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

  Ответить  
 
 автор: osmor   (07.05.2013 в 17:44)   личное сообщение
 
 

мне кажется причина в закрывающей ";" при добавлении Item

.AddItem Item:=Заказы_1!КодЗаказа & ";" & Заказы_1!КодСотрудника & ";" & Заказы_1!ДатаРазмещения _
& ";" & Заказы_1!ДатаИсполнения & ";" & Format(Заказы_1!СтоимостьЗаказа) & ";" _
& Заказы_1!КолТоварныхПозиций & ";", Index:=0


а почему вы просто не добавляете в таблицу данные из которой показывает список?

  Ответить  
 
 автор: MemoriesFrame   (07.05.2013 в 17:52)   личное сообщение
 
 

Я попробовал удалить закрывающую ";" при добавлении, но ничего не изменилось
Я добавляю из подчиненной формы, т.к. сначала выбираю определенный заказ.(надеюсь правильно понял вопрос)

  Ответить  
 
 автор: osmor   (08.05.2013 в 09:47)   личное сообщение
 
 

Я добавляю из подчиненной формы


я спрашиваю почему вы не добавляете сразу в таблицу, данные из которой отображаются в верхнем списке?
Вы данные из списка в который добавляете потом сохраняете в какой-то таблице?

  Ответить  
 
 автор: MemoriesFrame   (08.05.2013 в 19:23)   личное сообщение
 
 

Задание такое. Данные добавлять в список, а из списка уже сохраненные в таблицу

  Ответить  
 
 автор: Анатолий (Киев)   (08.05.2013 в 11:38)   личное сообщение
 
 


Когда нажимаю удалить, то иногда удаляет нормально(всю строку), а иногда только 5 из 6 столбцов(см приложенный рисунок)
А 5 из 6, случайно, не там, где сумма с копейками?

            .AddItem Item:= ...Format(Заказы_1!СтоимостьЗаказа)... 
Что вы хотите получить от формата без 2-го аргумента?

  Ответить  
 
 автор: MemoriesFrame   (08.05.2013 в 19:24)   личное сообщение
 
 

Не удаляет последний столбец - Количество Товарных Позиций.
А там где формат без второго аргумента - забыл дописать Fixed.

  Ответить  
 
 автор: Анатолий (Киев)   (13.05.2013 в 11:41)   личное сообщение
 
 


Не удаляет последний столбец - Количество Товарных Позиций.

Еще раз. Нормально удаляет строки, где сумма без копеек и оставляет колонку, где сумма с копейками? Т.е. где есть запятая?

  Ответить  
 
 автор: MemoriesFrame   (15.05.2013 в 23:14)   личное сообщение
 
 

Смотрите на картинку:
КодЗаказа,КодСотрудника,ДатаРазмещения,ДатаИсполнения,СтоимостьЗаказа удаляет нормально, а последний столбец - КолТоварныхПозиций не удаляет

  Ответить  
 
 автор: osmor   (16.05.2013 в 09:30)   личное сообщение
 
 

можете сделать кусочек базы с табичками и формой в которых есть описываемый эффект и прицепить сюда?

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList