|
|
|
| Уважаемы господа,
большая просьба помочь мне разобраться со следующей проблемой. Делаю программу по автозаполнению вордовских документов, использую следующую конструкцию:
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. Подскажите почему это может происходить и как это можно побороть??? | |
|
| |
|
|
|
| тип текст кругом
Да?
а в отладчике посмотрите значение Forms!frmACard!Cod.Column(2) чему равно пи игнорировании.. | |
|
| |
|
|
|
| в отладчике пишет null, но данные в столбцах присутствуют, просто почемуто не получается на них правильно сослаться, из 8 столбцов программа видит и считывает данные только с 5 | |
|
| |
|
|
|
| хорошо бы Вам не с формы брат данные, а через DAO.recordset | |
|
| |
|
|
|
| через recordset у меня не получается сделать так ,чтобы шла выборка данных из нужных ячеек, поэтому мучаюсь с таблицей
с другими таблицам проблем нет, только с одной такой баг | |
|
| |
|
|
|
| Вывод:
видимо что-то с форматом полей этой таблицы
А остальныя таблицы по структуре и по типам полей идентичны етой (дрянной девчёнке)? | |
|
| |
|
|
|
| все идентично, данные числа и текст, единственное отличие только то, что в этой таблице больше столбцов, чем в других | |
|
| |
|
|
|
|
а пробовали отправлять только проблемные столбцы
Закомментировав на время остальныя....
и что эти столбцы игнорятся напрочь или через промежуток (пробелы), на листе?
====== =========/=========/========= ======== | |
|
| |
|
|
|
| на крайний случай
Сделать копию рабочкй таблы
Удалить з неё данные
Переименовать(если нужно) столбцы
Скопировать данные из нерабочей таблы во вновь созданную. | |
|
| |
|
|
|
| Можа поспим?
У нас 23ч-45м.
А мы всё о том-жа о девках........ | |
|
| |
|
|
|
| извиняюсь за свое невежество, но я не знаю, как это через пробелы на листе?
еще вопрос, можно ли сослаться на столбец по его названию, а не через порядковый номер, и если да то как это должно выглядеть? | |
|
| |
|
|
|
| эт я плохо объяснил(спросил)
Описание: Функция позволяет записывать в текстовые файлы таблицы, запросы (строки 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 | |
|
| |
|
|
|
| Почитай те поизучай те может проясниться..... | |
|
| |
|
|
|
| я опять ничего не понял
наверное я не совсем правильно обьяснил свои действия. есть файл в ворде, скажем стандартный договор. В местах где текст может меняться, к примеру адреса, телефоны, данные заказчика и тд, стоят формы, на которые я ссылаюсь в модуле в access для заполнениях их данными из базы. я не переношу талбицы целеком, только некоторые значения из ячеек. | |
|
| |
|
|
|
| Ах вон оно как!?!
круто.......
на документе ворда лежат формы>я опять ничего не понял
>наверное я не совсем правильно обьяснил свои действия. есть
>файл в ворде, скажем стандартный договор. В местах где текст
>может меняться, к примеру адреса, телефоны, данные заказчика
>и тд, стоят формы, на которые я ссылаюсь в модуле в access
>для заполнениях их данными из базы. я не переношу талбицы
>целеком, только некоторые значения из ячеек.
я то думал на ворде закладки (Wdd.Bookmarks("Fax").Select) и туда вписывается значение из формы , которая находится в access (:=Forms!frmACard!Cod.Column(1)
. А данные в форму попадают из таблицы, или из запроса к таблице и выбираются запросом нужные записи...
но работа происходит в access так видимо?:-) | |
|
| |
|
|
|
| а вообще-то кода я с этим столкнулся(с работой в ворде из аццесс)
мне помрг Юрий Шерман.
http://hiprog.com/index.php?option=com_content&task=view&id=379
доходчивее и понятнее трудно объяснить. | |
|
| |
|
|
|
| >я то думал на ворде закладки (Wdd.Bookmarks("Fax").Select)
> и туда вписывается значение из формы , которая находится в
>access (:=Forms!frmACard!Cod.Column(1)
>. А данные в форму попадают из таблицы, или из запроса к
>таблице и выбираются запросом нужные записи...
>но работа происходит в access так видимо?:-)
Вы абсолютно правы в ворде закладки, я не правильно выразился))) и вся работа в аксесс. спасибо за ссылку, пойду изучать | |
|
| |
|
|
|
| спасибо за помощь, все заработало :) | |
|
| |
|
|
|
| Урррааааааааааа!!!!!!!!!!!!!!!!!!! Заработала!!!!!!!!!
А в чём была "заковырка"?
| | |
|
| |
|
|
|
| В поле на которое я ссылался, в качестве источника строк были перечислены не все столбцы, почемуто. Базу первоначально не я делал, поэтому догадался туда заглянуть в последнюю очередь | |
|
| |
|
|
|
| Понятно. | |
|
| |