Странный глюк View?

Тема в разделе "Lotus - Программирование", создана пользователем medin84, 22 авг 2007.

  1. medin84

    medin84 Well-Known Member

    Регистрация:
    27 июн 2007
    Сообщения:
    106
    Симпатии:
    0
    Довольно странный глюк однако!
    Поначалу не мог понять в чем дело, толи ошибка скрипта.(script ok!)
    Оказалось что, при выводе на Excell,Access значения столбцов смещяются на 1 столбец в лево.
    Данные беру из значений столбцов view!
    Может кто сталкивался с такой ситуацией. ;)
    access:
    access.jpg
    view:
    view.jpg
     
  2. Гость

    А как Вы к ним обращаетесь и что в коде написано? Может это связано с тем что в лотусе все время путанница с нумерацией, хотя столбцы нумеруются с 1 а не с 0. Вы данные все заносите или только те столбцы, которые выделены?
     
  3. medin84

    medin84 Well-Known Member

    Регистрация:
    27 июн 2007
    Сообщения:
    106
    Симпатии:
    0
    Вот код с которым вывожу в access.
    Код (Text):
    Option Public
    Option Declare
    Uselsx "*LSXODBC"

    Sub Initialize
    Dim s As NotesSession
    Dim ws As NotesUIWorkspace
    Dim CurDB As NotesDatabase
    Dim OKdbView As NotesView
    Dim v As notesview
    Dim nav As notesviewnavigator
    Dim Entry As notesviewEntry
    Dim n_Entry As Integer, i As Integer
    '----------------
    Dim OKdb As New NotesDatabase("DominoServer/KazNPU","DB/OK/Ok.nsf")
    '----------------
    Set s = New NotesSession
    Set CurDB = s.CurrentDatabase
    Set ws = New NotesUIWorkspace
    '----------------
    Dim con As New ODBCConnection
    Dim qry As New ODBCQuery
    Dim result As New ODBCResultSet
    '-----------------Соединяемся с источником данных ODBC
    Set qry.Connection = con
    Set result.Query = qry
    con.ConnectTo("LotusDB")
    '-----------------------------------------------------------------------------
    Set v=OKdb.getView( "ForMinistry" )
    Set nav=v.createViewNav
    Set Entry=nav.getFirst
    n_Entry = Entry.SiblingCount

    For i=1 To n_Entry
    qry.SQL = "insert into LotusTable ("_
    + "SurName,"_
    + "Name,"_
    + "FatherName,"_
    + "Passport,"_
    + "PlaceBorn,"_
    + "DateBorn,"_
    + "CodeOrganizazii,"_
    + "Priznak,"_
    + "HomePhone) values ('"_
    + Cstr(Entry.ColumnValues(0)) +"','"_
    + Cstr(Entry.ColumnValues(1)) +"','"_
    + Cstr(Entry.ColumnValues(2)) +"','"_
    + Cstr(Entry.ColumnValues(3)) +"','"_
    + Cstr(Entry.ColumnValues(4)) +"','"_
    + Cstr(Entry.ColumnValues(5)) +"','"_
    + Cstr(Entry.ColumnValues(6)) +"','"_
    + Cstr(Entry.ColumnValues(7)) +"','"_
    + Cstr(Entry.ColumnValues(8)) + "')"
    '----------------
    Let result.CacheLimit = DB_NONE
    Let result.FetchBatchSize = 1
    Let result.MaxRows = 1000000
    result.Execute
    Set Entry = nav.getnextSibling(Entry)
    Next
    '----------------
    result.Close(DB_CLOSE)
    con.Disconnect
    Set ws=Nothing
    End Sub
    Данные заносятся все.
     
  4. Гость

    странно. все правильно вроде. а Вы не пробовали менять местами столбцы? проблема с определенными столбцами или нет? Если код организации и признак перенести в другое место / поменять местами что будет? Или может проблема именно с 7 и 8 столбцами?
     
  5. medin84

    medin84 Well-Known Member

    Регистрация:
    27 июн 2007
    Сообщения:
    106
    Симпатии:
    0
    Думаю в скрипте проблем нет!
    Все дело в представлении.
    На рисунках показано что значение столбца "Priznak" в view, в access записалось в столбец "CodeOrganizazii".
    И все остальные значения столбцов сместились за ним.
     
  6. Гость

    в смысле в коде если поставить код организации 1 столбцом или там 3 то все нормально? Признак передается? А то может там ничего не передается и происходит сдвиг? Хотя, наверное, действительно что то во вью... Посмотрите настройки вью, настройки столбцов, не найдется ничего примечательного?
     
  7. medin84

    medin84 Well-Known Member

    Регистрация:
    27 июн 2007
    Сообщения:
    106
    Симпатии:
    0
    Попробовал поменять "Priznak" с "CodeOrganizazii".
    Теперь значение "Priznak" в порядке.
    Но с "CodeOrganizazii" проблема. Значение столбца после "CodeOrganizazii" сместилось в "CodeOrganizazii"
     
  8. Гость

    ну вот и нашлась причина... посмотрите подробно свойсва этого столба в лотусе. попробуйте создать его заново, а старый удалите. Да, кстати, в свойствах столбца в лотусе, в advanced --> programmatic use --> name какое имя там указано? CodeOrganizazii или что то вроде $2??? Если номер указан, то посмотрите совпадает ли он с текущим номером столбца (какой он по счету) и самое главное, нет ли случайно еще столбцов с таким же номером?
     
  9. medin84

    medin84 Well-Known Member

    Регистрация:
    27 июн 2007
    Сообщения:
    106
    Симпатии:
    0
    Сделал все возможное. ;)
    Что-то совсем не пойму.
    Там значение берется не по полю, а статичное тоесть просто "50" из-за этого не может быть!
     
  10. Гость

    <!--QuoteBegin-medin84+22:08:2007, 12:37 -->
    <span class="vbquote">(medin84 @ 22:08:2007, 12:37 )</span><!--QuoteEBegin-->Там значение берется не по полю, а статичное тоесть просто "50" из-за этого не может быть!
    [snapback]76025" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    в каком смысле? все столбцы берутся из вью, а это просто забивается 50? У Вас же по коду все берется из вью... Или все же из столбца? Если это число может в текст его перегнать?
     
  11. medin84

    medin84 Well-Known Member

    Регистрация:
    27 июн 2007
    Сообщения:
    106
    Симпатии:
    0
    Вообще убрал этот столбец.
    В скрипте в нужном месте пишу "50" и все работает как надо.
    Но все же не понятно, почему так происходит.

    Вобщем вот так сделал.
    Столбец со значением "50"(CodeOrganizazii) убрал.
    Теперь значения не смещаются:
    Код (Text):
        For i=1 To n_Entry
    qry.SQL = "insert into LotusTable ("_
    + "SurName,"_
    + "Name,"_
    + "FatherName,"_
    + "Passport,"_
    + "PlaceBorn,"_
    + "DateBorn,"_
    + "CodeOrganizazii,"_
    + "Priznak,"_
    + "HomePhone,"_
    + "AdressPoMestuZhitelstva,"_
    + "BaseEducationSpecEduYear) values ('"_
    + Cstr(Entry.ColumnValues(0)) +"','"_
    + Cstr(Entry.ColumnValues(1)) +"','"_
    + Cstr(Entry.ColumnValues(2)) +"','"_
    + Cstr(Entry.ColumnValues(3)) +"','"_
    + Cstr(Entry.ColumnValues(4)) +"','"_
    + Cstr(Entry.ColumnValues(5)) +"','"_
    + Cstr(50) +"','"_
    + Cstr(Entry.ColumnValues(6)) +"','"_
    + Cstr(Entry.ColumnValues(7)) +"','"_
    + Cstr(Entry.ColumnValues(8)) +"','"_
    + Cstr(Entry.ColumnValues(9)) + "')"
    '----------------
    Let result.CacheLimit = DB_NONE
    Let result.FetchBatchSize = 1
    Let result.MaxRows = 1000000
    result.Execute
    Set Entry = nav.getnextSibling(Entry)
    Next
     
  12. Гость

    Вообще анамалии какие то...
     
Загрузка...

Поделиться этой страницей