2013-04-26 3 views
0

Все,Обновление БД из Access 2003 в Access 2007

Я была поставлена ​​задача обновить доступ с 2003 по 2007 год Цель БД создать точку мощности представления данных, автоматически генерируется из Excel таблица. Я могу импортировать данные, но, пытаясь сгенерировать его в точке питания, я получаю сообщение об ошибке. Похоже, что ошибка возникает при попытке взять данные из таблицы Excel и вставить в таблицу в представлении Power Point. Этот код был сделан кем-то другим, и я не уверен, что отличается от двух версий. Пожалуйста помоги! Все ниже является частью кода. Не слишком уверен, почему он отделяет то, как он это делает. Исправьте. Сообщите мне, нужна ли вам дополнительная информация. См ошибку и код ниже:

Ошибка: Ошибка выполнения -2147467259 (800004005) Метод «таблицы» из «формы» объекта не удалось

'Replace all tags with values from datarow 
    With shape.Table 

     .Cell(1, 1).shape.TextFrame.TextRange.Text = Replace(.Cell(1, 1).shape.TextFrame.TextRange.Text, "<ID>", ID) 
     .Cell(1, 3).shape.TextFrame.TextRange.Text = Replace(.Cell(1, 3).shape.TextFrame.TextRange.Text, "<TITLE>", TITLE) 
     .Cell(2, 1).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 1).shape.TextFrame.TextRange.Text, "<STATUS>", status) 
     .Cell(2, 1).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 1).shape.TextFrame.TextRange.Text, "<OWNER>", OWNER) 
' is part of WBS in cost changes (Perry Sedlar)    
     .Cell(2, 1).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 1).shape.TextFrame.TextRange.Text, "<REP>", REP) 
     .Cell(2, 1).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 1).shape.TextFrame.TextRange.Text, "<ACTION>", ACTION)  
' Shifted to the left after removing Gov't Rep column (Perry Sedlar) 
     .Cell(2, 3).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 3).shape.TextFrame.TextRange.Text, "<MCE>", MCE) 
     .Cell(2, 3).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 3).shape.TextFrame.TextRange.Text, "<ISSUE>", ISSUE) 
' is part of WBS in cost changes (Perry Sedlar)   
     .Cell(2, 3).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 3).shape.TextFrame.TextRange.Text, "<ACTION>", ACTION) 
' Shifted to the left after removing Gov't Rep column (Perry Sedlar) 
     .Cell(2, 3).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 3).shape.TextFrame.TextRange.Text, "<PM>", PM)0 
' Shifted to the left after removing Gov't Rep column (Perry Sedlar) 
     .Cell(2, 5).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 5).shape.TextFrame.TextRange.Text, "<HA>", HA) 
     .Cell(2, 5).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 5).shape.TextFrame.TextRange.Text, "<MP>", MP) 
' is part of WBS in cost changes (Perry Sedlar)      
     .Cell(2, 5).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 5).shape.TextFrame.TextRange.Text, "<PM>", PM) 
' Shifted to the left after removing Gov't Rep column (Perry Sedlar) 
     .Cell(2, 5).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 5).shape.TextFrame.TextRange.Text, "<LVL>", LVL) 
' Shifted to the left after removing Gov't Rep column (Perry Sedlar) 
     .Cell(2, 8).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 8).shape.TextFrame.TextRange.Text, "<PROB>", Prob) 
     .Cell(2, 8).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 8).shape.TextFrame.TextRange.Text, "<EXP>", EXP) 
' is part of WBS in cost changes (Perry Sedlar)      
     .Cell(2, 8).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 8).shape.TextFrame.TextRange.Text, "<LVL>", LVL) 
     .Cell(3, 1).shape.TextFrame.TextRange.Text = Replace(.Cell(3, 1).shape.TextFrame.TextRange.Text, "<DESCRIPTION>", DESC) 
     .Cell(4, 10).shape.TextFrame.TextRange.Text = Replace(.Cell(4, 10).shape.TextFrame.TextRange.Text, "<C>", C) 
     .Cell(4, 10).shape.TextFrame.TextRange.Text = Replace(.Cell(4, 10).shape.TextFrame.TextRange.Text, "<S>", S) 
     .Cell(4, 10).shape.TextFrame.TextRange.Text = Replace(.Cell(4, 10).shape.TextFrame.TextRange.Text, "<T>", T) 
     .Cell(4, 10).shape.TextFrame.TextRange.Text = Replace(.Cell(4, 10).shape.TextFrame.TextRange.Text, "<O>", o) 
     .Cell(2, 8).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 8).shape.TextFrame.TextRange.Text, "<ARO>", Trend_Arrow) 



     If IssueFileRead = "N" Then ' Check to see if running Issue or Risk.. templates are now different (Perry Sedlar) 

      ' This code is for Risk Slides (Perry Sedlar) 
      .Cell(2, 1).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 1).shape.TextFrame.TextRange.Text, "<OCCUR>", OCCUR) 
      .Cell(2, 1).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 1).shape.TextFrame.TextRange.Text, "<OCCUR_FACT>", OCCUR_FACT) 
      .Cell(2, 3).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 3).shape.TextFrame.TextRange.Text, "<MIT>", MIT) 
      .Cell(2, 3).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 3).shape.TextFrame.TextRange.Text, "<MIT_FACT>", MIT_FACT) 
      .Cell(2, 5).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 5).shape.TextFrame.TextRange.Text, "<OPP>", OPP) 
      .Cell(2, 5).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 5).shape.TextFrame.TextRange.Text, "<OPP_FACT>", OPP_FACT) 
      .Cell(2, 7).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 7).shape.TextFrame.TextRange.Text, "<IPT>", IPT) 
      .Cell(2, 7).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 7).shape.TextFrame.TextRange.Text, "<WBS>", WBS) 
     Else 

      ' This code if for Issue Slides (Perry Sedlar) 
      .Cell(2, 1).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 1).shape.TextFrame.TextRange.Text, "<REP>", REP) 
      .Cell(2, 3).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 3).shape.TextFrame.TextRange.Text, "<ACTION>", ACTION) ' Shifted to the left after removing Gov't Rep column (Perry Sedlar) 
      .Cell(2, 5).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 5).shape.TextFrame.TextRange.Text, "<PM>", PM) ' Shifted to the left after removing Gov't Rep column (Perry Sedlar) 
      .Cell(2, 8).shape.TextFrame.TextRange.Text = Replace(.Cell(2, 8).shape.TextFrame.TextRange.Text, "<LVL>", LVL) 
     End If 

    End With 
End Sub 

ответ

0

«Method„стол“из„формы“объекта не удалось "

Вероятно, нам нужно увидеть код до того, где произошла ошибка. Вы установили ссылку на фигуру и убедились, что форма на самом деле является таблицей?

Кроме того, поскольку Shape является зарезервированным словом, я бы использовал другое имя в качестве имени переменной.

Dim oSh as Shape 
Dim oTbl as Table 
Set oSh = [fill in the blank here ... your call] 
If oSh.HasTable Then 
    Set oTbl = oSh.Table 
    With oTbl 
    ' [ do your stuff here ] 
    End With 
Else 
    MsgBox "OOpsie. Barking up the wrong shape here." 
End If 

Если нужно перейти из Excel в РРТ, у вас есть бюджет в размере 70 долларов или около того, и хотят, чтобы это было сделано быстро и без прохождения Access, посмотрите на http://www.pptools.com/merge/

Полное раскрытие: это коммерческий продукт, который я написал/продал.
(Модераторы: если упоминание об этом неприемлемо, не стесняйтесь удалять последние два абзаца)

+0

Извините, я просто возвращаюсь с вами. На прошлой неделе я тренировался всю неделю. Есть ли способ, которым я могу поместить весь код, не имея слишком длинного кода для окна комментариев? – user2324835

+0

Кроме того, я пробовал свой код и где он говорит oSh.HasTable, я получаю ошибку компиляции: метод или элемент данных не найдены – user2324835

0

Идентификаторы кода различны и там, где некоторые из синтаксисов не используются. DAO также отличаются от 2003 до 2007 года. Необходимо будет переписать программу, чтобы она работала должным образом. Спасибо за помощь.

Смежные вопросы