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

Форум: MS ACCESS

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

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

 
 

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

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

тема: При переносе данных в word, программа "игнорирует" некоторые столбцы в таблице
 
 автор: X-RAY   (01.12.2007 в 22:52)   личное сообщение
 
 

Уважаемы господа,

большая просьба помочь мне разобраться со следующей проблемой. Делаю программу по автозаполнению вордовских документов, использую следующую конструкцию:

Wdd.Bookmarks("Fax").Select
Wda.Selection.TypeText Text:=Forms!frmACard!Cod.Column(1)
Wdd.Bookmarks("Phone").Select
Wda.Selection.TypeText Text:=Forms!frmACard!Cod.Column(2)
и тд,
так вот почему-то access по некоторым колонкам в таблице выдает значение null, точнее просто их не видит. Свойства у колонок одинаковые, талблица с шагом идентификации 1. Подскажите почему это может происходить и как это можно побороть???

  Ответить  
 
 автор: час   (01.12.2007 в 22:55)   личное сообщение
 
 

тип текст кругом
Да?
а в отладчике посмотрите значение Forms!frmACard!Cod.Column(2) чему равно пи игнорировании..

  Ответить  
 
 автор: X-RAY   (01.12.2007 в 23:11)   личное сообщение
 
 

в отладчике пишет null, но данные в столбцах присутствуют, просто почемуто не получается на них правильно сослаться, из 8 столбцов программа видит и считывает данные только с 5

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

хорошо бы Вам не с формы брат данные, а через DAO.recordset

  Ответить  
 
 автор: X-RAY   (01.12.2007 в 23:19)   личное сообщение
 
 

через recordset у меня не получается сделать так ,чтобы шла выборка данных из нужных ячеек, поэтому мучаюсь с таблицей
с другими таблицам проблем нет, только с одной такой баг

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

Вывод:
видимо что-то с форматом полей этой таблицы
А остальныя таблицы по структуре и по типам полей идентичны етой (дрянной девчёнке)?

  Ответить  
 
 автор: X-RAY   (01.12.2007 в 23:32)   личное сообщение
 
 

все идентично, данные числа и текст, единственное отличие только то, что в этой таблице больше столбцов, чем в других

  Ответить  
 
 автор: час   (01.12.2007 в 23:34)   личное сообщение
 
 


а пробовали отправлять только проблемные столбцы
Закомментировав на время остальныя....

и что эти столбцы игнорятся напрочь или через промежуток (пробелы), на листе?
====== =========/=========/========= ========

  Ответить  
 
 автор: час   (01.12.2007 в 23:43)   личное сообщение
 
 

на крайний случай
Сделать копию рабочкй таблы
Удалить з неё данные
Переименовать(если нужно) столбцы
Скопировать данные из нерабочей таблы во вновь созданную.

  Ответить  
 
 автор: час   (01.12.2007 в 23:45)   личное сообщение
 
 

Можа поспим?
У нас 23ч-45м.
А мы всё о том-жа о девках........

  Ответить  
 
 автор: X-RAY   (01.12.2007 в 23:48)   личное сообщение
 
 

извиняюсь за свое невежество, но я не знаю, как это через пробелы на листе?

еще вопрос, можно ли сослаться на столбец по его названию, а не через порядковый номер, и если да то как это должно выглядеть?

  Ответить  
 
 автор: час   (01.12.2007 в 23:53)   личное сообщение
 
 

эт я плохо объяснил(спросил)
Описание: Функция позволяет записывать в текстовые файлы таблицы, запросы (строки SQL) в обход DoCmd.TransferText. Во избежание дополнительных неприятностей не используются такие функции как IIf, Switch, Replace. Входными параметрами являются "Имя таблицы/запроса/строка SQL", "Полное имя файла", "Разделитель полей" и "С именами полей или без". Работает на MSA 2000-2002 (на ранних версиях не проверял в связи с отсутствием таковых)...

Автор: Дедушев Михаил (AKA Deminik)

Добавил на сайт: Deminik 27.09.2004

Option Compare Database

Public Function OutFile(strSQL As String, Optional strFileName _
As String = "", _
Optional strDelimeter As String = ";", _
Optional NeedHead As Boolean = True) As Boolean

' strSQL - строка SQL или имя таблицы/запроса для записи в файл (обяз)
' strFileName - полное имя файла (не обяз)
' strDelimeter - разделитель полей (не обяз)
' NeedHead - с именами полей или без (не обяз)
'Error-handler inserted on 25.09.2004 at 09:20 by Dedushev M.N.

On Error GoTo OutFile_Error

Dim rst As DAO.Recordset, hFile As Long
Dim i As Integer, n As Integer, strText As String

If Len(strFileName) = 0 Then
strFileName = "c:\outfile.txt"
' Lыш цх strFileName = CurrentProject.Path & "\outfile.txt"
End If

Set rst = CurrentDb.OpenRecordset(strSQL)
strText = ""

' Формирование строки заголовка таблицы
With rst
For i = 0 To .Fields.Count - 1
strText = strText & Chr(34) & .Fields(i).Name _
& Chr(34) & strDelimeter
Next i
hFile = FreeFile

' Запись в файл
Open strFileName For Output Access Write As hFile
If NeedHead Then Print #hFile, _
Left(strText, Len(strText) - 1)

' Формирование строк таблицы
Do Until rst.EOF
strText = ""
For i = 0 To .Fields.Count - 1
strText = strText & Chr(34) & .Fields(i).Value _
& Chr(34) & strDelimeter
Next i
Print #hFile, Left(strText, Len(strText) - 1)
.MoveNext
Loop
Close hFile
.Close
End With

' Проверка наличия записанного файла
If Dir(strFileName) <> "" Then OutFile = True

OutFile_Exit:

Exit Function

OutFile_Error:

MsgBox "Непредвиденная разработчиком ошибка - " & Err.Number & _
vbCrLf & vbCrLf & Error$, vbExclamation

Resume OutFile_Exit

End Function

  Ответить  
 
 автор: час   (01.12.2007 в 23:58)   личное сообщение
 
 

Почитай те поизучай те может проясниться.....

  Ответить  
 
 автор: X-RAY   (02.12.2007 в 00:03)   личное сообщение
 
 

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

  Ответить  
 
 автор: час   (02.12.2007 в 10:12)   личное сообщение
 
 

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

я то думал на ворде закладки (Wdd.Bookmarks("Fax").Select) и туда вписывается значение из формы , которая находится в access (:=Forms!frmACard!Cod.Column(1)
. А данные в форму попадают из таблицы, или из запроса к таблице и выбираются запросом нужные записи...
но работа происходит в access так видимо?:-)

  Ответить  
 
 автор: час   (02.12.2007 в 10:21)   личное сообщение
 
 

а вообще-то кода я с этим столкнулся(с работой в ворде из аццесс)
мне помрг Юрий Шерман.
http://hiprog.com/index.php?option=com_content&task=view&id=379
доходчивее и понятнее трудно объяснить.

  Ответить  
 
 автор: X-RAY   (02.12.2007 в 11:52)   личное сообщение
 
 

>я то думал на ворде закладки (Wdd.Bookmarks("Fax").Select)
> и туда вписывается значение из формы , которая находится в
>access (:=Forms!frmACard!Cod.Column(1)
>. А данные в форму попадают из таблицы, или из запроса к
>таблице и выбираются запросом нужные записи...
>но работа происходит в access так видимо?:-)

Вы абсолютно правы в ворде закладки, я не правильно выразился))) и вся работа в аксесс. спасибо за ссылку, пойду изучать

  Ответить  
 
 автор: X-RAY   (02.12.2007 в 13:54)   личное сообщение
 
 

спасибо за помощь, все заработало :)

  Ответить  
 
 автор: час   (02.12.2007 в 19:18)   личное сообщение
 
 

Урррааааааааааа!!!!!!!!!!!!!!!!!!! Заработала!!!!!!!!!

А в чём была "заковырка"?

  Ответить  
 
 автор: X-RAY   (03.12.2007 в 21:57)   личное сообщение
 
 

В поле на которое я ссылался, в качестве источника строк были перечислены не все столбцы, почемуто. Базу первоначально не я делал, поэтому догадался туда заглянуть в последнюю очередь

  Ответить  
 
 автор: час   (04.12.2007 в 08:11)   личное сообщение
 
 

Понятно.

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