Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Импорт из BDF в Access Добавлено: 13.07.07 12:54  

Автор вопроса:  fuzytsfcrew | Web-сайт: video-edit.com.ua | ICQ: 314339 
Никак не получается сделать импорт из BDF.
Подключаюсь к БД Access:

Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\NormForm\Data\norm.mdb;Persist Security Info=False"
Adodc1.RecordSource = "Select * from baza"
Adodc1.Refresh

открываю нужные мне записи в BDF:

Data1.RecordSource = "SELECT NAME_CH, NAIM_CH, OP, CEH1, R, TSHT1 FROM baz_ip ORDER BY NAME_CH"
Data1.Refresh

и пытаюсь добавить их в БД Access:

With Data1.Recordset

Do Until .EOF
        If Not IsNull(!NAME_CH) Then
                ListBox1.AddItem !NAME_CH
                Adodc1.Recordset.AddNew
        End If
        .MoveNext
Loop

End With


а он пишет, что я пытаюсь вставить пустое значение..

Ответить

  Ответы Всего ответов: 10  

Номер ответа: 1
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #1 Добавлено: 13.07.07 15:32
Adodc1.Recordset.AddNew

       АдоОдин.Записи.ДобавитьНовую
И где она, эта новая запись?
Уж не это ли - !NAME_CH?
Что же ты его в листбокс суешь?

Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("???";).Value = Data1.Recordset.Fields("NAME_CH";).Value

Ответить

Номер ответа: 2
Автор ответа:
 fuzytsfcrew



ICQ: 314339 

Вопросов: 30
Ответов: 102
 Web-сайт: video-edit.com.ua
 Профиль | | #2
Добавлено: 13.07.07 15:44
чего-то не совсем понял...
как мне все поля Data1.Recordset записать в Adodc1.Recordset?

Ответить

Номер ответа: 3
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #3 Добавлено: 13.07.07 15:53
Пока далеко не ушел,остановись на чем нибудь, ADODC или Data, то бишь использовать две модели - перебор (ИМХО), либо Два adodc, либо два Data.

Ответить

Номер ответа: 4
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #4 Добавлено: 13.07.07 15:55
Пока далеко не ушел,остановись на чем нибудь, ADODC или Data, то бишь использовать две модели - перебор (ИМХО), либо Два adodc, либо два Data.
И вообще то, зачем тебе визуальные компоненты, если просто перегоняешь таблицы эз формата в формат. И потом все это можно сделать просто прямо в акцессе.

Ответить

Номер ответа: 5
Автор ответа:
 fuzytsfcrew



ICQ: 314339 

Вопросов: 30
Ответов: 102
 Web-сайт: video-edit.com.ua
 Профиль | | #5
Добавлено: 13.07.07 15:58
Все получилось. Записи добавляются.
Но почемуто выкидывает ошибку:
Run-time error '-2147217887 (80040e21)':

Произошли ошибки во время выполнения пошаговой операции. Проверьте значения всех состояний.


В чем может быть глюк?
Вот код:

Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\NormForm\Data\norm.mdb;Persist Security Info=False"
Adodc1.RecordSource = "Select * from baza"
Adodc1.Refresh

Data1.RecordSource = "SELECT NAME_CH, NAIM_CH, OP, CEH1, R, TSHT1 FROM baz_ip ORDER BY NAME_CH"
Data1.Refresh

With Data1.Recordset

Do Until .EOF
        If Not IsNull(!NAME_CH) Then
                ListBox1.AddItem !NAME_CH & " - " & !NAIM_CH & " - " & !OP
                Adodc1.Recordset.AddNew
                Adodc1.Recordset.Fields("number";).Value = .Fields("NAME_CH";).Value
                Adodc1.Recordset.Fields("name";).Value = .Fields("NAIM_CH";).Value
                Adodc1.Recordset.Fields("profession";).Value = .Fields("OP";).Value
                Adodc1.Recordset.Fields("ceh";).Value = .Fields("CEH1";).Value
                Adodc1.Recordset.Fields("rozryad";).Value = .Fields("R";).Value
                Adodc1.Recordset.Fields("trudoemkost";).Value = .Fields("TSHT1";).Value
        End If
        .MoveNext
Loop

End With

Ответить

Номер ответа: 6
Автор ответа:
 fuzytsfcrew



ICQ: 314339 

Вопросов: 30
Ответов: 102
 Web-сайт: video-edit.com.ua
 Профиль | | #6
Добавлено: 13.07.07 15:59
Все получилось. Записи добавляются.
Но почемуто выкидывает ошибку:
Run-time error '-2147217887 (80040e21)':

Произошли ошибки во время выполнения пошаговой операции. Проверьте значения всех состояний.


В чем может быть глюк?
Вот код:

Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\NormForm\Data\norm.mdb;Persist Security Info=False"
Adodc1.RecordSource = "Select * from baza"
Adodc1.Refresh

Data1.RecordSource = "SELECT NAME_CH, NAIM_CH, OP, CEH1, R, TSHT1 FROM baz_ip ORDER BY NAME_CH"
Data1.Refresh

With Data1.Recordset

Do Until .EOF
        If Not IsNull(!NAME_CH) Then
                ListBox1.AddItem !NAME_CH & " - " & !NAIM_CH & " - " & !OP
                Adodc1.Recordset.AddNew
                Adodc1.Recordset.Fields("number";).Value = .Fields("NAME_CH";).Value
                Adodc1.Recordset.Fields("name";).Value = .Fields("NAIM_CH";).Value
                Adodc1.Recordset.Fields("profession";).Value = .Fields("OP";).Value
                Adodc1.Recordset.Fields("ceh";).Value = .Fields("CEH1";).Value
                Adodc1.Recordset.Fields("rozryad";).Value = .Fields("R";).Value
                Adodc1.Recordset.Fields("trudoemkost";).Value = .Fields("TSHT1";).Value
        End If
        .MoveNext
Loop

End With

Ответить

Номер ответа: 7
Автор ответа:
 fuzytsfcrew



ICQ: 314339 

Вопросов: 30
Ответов: 102
 Web-сайт: video-edit.com.ua
 Профиль | | #7
Добавлено: 13.07.07 17:00
Получилось... В одном из полей новой таблици не хватало места для данных... :)

А как отчистиь (удалить) все записи таблици из кода???

Ответить

Номер ответа: 8
Автор ответа:
 EUGY



Вопросов: 0
Ответов: 454
 Профиль | | #8 Добавлено: 13.07.07 17:35
Если AddNew - это добавить, то Delete соответственно ...
Совет AndreyMp мудрый, послушайся.

Ответить

Номер ответа: 9
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #9 Добавлено: 13.07.07 18:30
А как отчистиь (удалить) все записи таблици из кода???


Ну открываеш рекордсет и вперед..

    While Not rs.EOF
         rs.Delete
        rs.MoveNext
    Wend

Ответить

Номер ответа: 10
Автор ответа:
 fuzytsfcrew



ICQ: 314339 

Вопросов: 30
Ответов: 102
 Web-сайт: video-edit.com.ua
 Профиль | | #10
Добавлено: 16.07.07 12:03
Тю.. Пытаюсь удалить строки с БД по записи,

        Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\NormForm\Data\norm.mdb;Persist Security Info=False"
        Adodc1.RecordSource = "SELECT * from baza"
        Adodc1.Refresh

    While Not Adodc1.Recordset.EOF
        Adodc1.Recordset.Delete
        Adodc1.Recordset.MoveNext
    Wend

а он ошибку выдает, что неполные сведения о ключ. поле.
Обновление влияет на слишком большое число строк.


Пробовал по другому:

        Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\NormForm\Data\norm.mdb;Persist Security Info=False"
        Adodc1.RecordSource = ";DELETE * from baza"


Если есть Adodc1.Refresh, тогда удаляет и пишет ошибку на него ... - операция не допускается, если объект закрыт.
а если его нет (Adodc1.Refresh), то не удаляет.

Чего делать?

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам