|
Функция, запись данных из в поля формы в таблицу.
|
|||
---|---|---|---|
#18+
Здравствуйте! есть поле в форме вот с такими данными: 49,0840388888889 55,8483944444444 49,0758420621239 55,848868421318 49,0755923105285 55,8510254478631 49,0667690295303 55,8510602052147 49,0669888498878 55,8590267224895 49,072003740708 55,859278497036 49,0740250881726 55,8640417330845 49,0763634133865 55,8644822772042 49,0793085126276 55,8692599425676 49,077035350807 55,8695706214117 49,077118035886 55,8720531362307 49,0839775997428 55,8723909134901 49,085085495203 55,870734780173 49,0957224166008 55,8714768922188 49,1048214234981 55,8679821314794 49,1059956676562 55,8649419488701 49,1078564979425 55,8625470640388 49,1106863940431 55,8613210507663 49,1067536240092 55,8577984634221 49,0985710398202 55,8551910660467 49,0879508739187 55,8479290756276 Данные в поле записаны через знак табуляции и знак абзаца. Как записать можно данные из поля формы записались в табл1 (2 столбца: X,Y)? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2017, 22:55 |
|
Функция, запись данных из в поля формы в таблицу.
|
|||
---|---|---|---|
#18+
pnnkazanесть поле в форме вот с такими данными эта куча в одном мемо поле или одна строка - это одна запись в таблице? однако очень существенно... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2017, 23:36 |
|
Функция, запись данных из в поля формы в таблицу.
|
|||
---|---|---|---|
#18+
vmag, поле MEMO в форме (свободное) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2017, 23:38 |
|
Функция, запись данных из в поля формы в таблицу.
|
|||
---|---|---|---|
#18+
Вангую: если поле в форме такие данные с клавиатуры не внесешь т.к нажатие TAB или ENTER перемещает в следующее поле если для постоянного пользования лучше сделать форму на таблице с полями X и Y если разово то добавить в таблицу поле с данными (ctl),выполнить процедуру и удалить его (если Акцесс ниже 2007 использовать DAO) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2017, 00:39 |
|
Функция, запись данных из в поля формы в таблицу.
|
|||
---|---|---|---|
#18+
pnnkazanvmag, поле MEMO в форме (свободное)А откуда в свободном поле данные ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2017, 00:42 |
|
Функция, запись данных из в поля формы в таблицу.
|
|||
---|---|---|---|
#18+
pnnkazan, Функцию писать было лень... 1. Скопировал в буфер вашу кучу... 2. Сохранил как есть в текстовом файле. 3. В БД внешние данные - связь с таблицами выбрал тип txt и текстовый файл. В мастере выбрал разделитель Табуляция и определил свойства полей как текстовые, чтоб не потерять разряды (можете еще назвать Х и Y). В результате ваша связанная искомая таблица... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2017, 01:18 |
|
Функция, запись данных из в поля формы в таблицу.
|
|||
---|---|---|---|
#18+
sdku, vmag, в реале есть файл *.kml в кодировке utf-8, внутри текст: <?xml version="1.0" encoding="UTF-16"?><kml xmlns=" http://earth.google.com/kml/2.2"><Document xmlns=""><mapName>Казань</mapName><name>1.kmz</name><Style id="Новый многоугольник_Style_00000000"><LabelStyle><color>ff000000</color><scale>1</scale><face>Arial</face><visible>0</visible><style>00000000</style></LabelStyle><LineStyle><color>ff000099</color><width>00000001</width></LineStyle><PolyStyle><color>ff99ffff</color><fill>0</fill><outline>1</outline></PolyStyle><ListStyle/></Style><Placemark id="4"><name>Новый многоугольник</name><visibility>1</visibility><styleUrl>#Новый многоугольник_Style_00000000</styleUrl><Polygon><outerBoundaryIs><LinearRing><coordinates>49.0840388888889,55.8483944444444,0 49.0758420621239,55.848868421318,0 49.0755923105285,55.8510254478631,0 49.0667690295303,55.8510602052147,0 49.0669888498878,55.8590267224895,0 49.072003740708,55.859278497036,0 49.0740250881726,55.8640417330845,0 49.0763634133865,55.8644822772042,0 49.0793085126276,55.8692599425676,0 49.077035350807,55.8695706214117,0 49.077118035886,55.8720531362307,0 49.0839775997428,55.8723909134901,0 49.085085495203,55.870734780173,0 49.0957224166008,55.8714768922188,0 49.1048214234981,55.8679821314794,0 49.1059956676562,55.8649419488701,0 49.1078564979425,55.8625470640388,0 49.1106863940431,55.8613210507663,0 49.1067536240092,55.8577984634221,0 49.0985710398202,55.8551910660467,0 49.0879508739187,55.8479290756276,0</coordinates></LinearRing></outerBoundaryIs></Polygon></Placemark></Document></kml> Это область с координатами, внутри которой находятся компании, все координаты перечислены по порядку и соединены прямыми линями. По идее было бы хорошо, это: 1. Имортировать файл куда то в буфер. 2. Фильтровать и преобразовать до такого состояния: 49,0840388888889 55,8483944444444 49,0758420621239 55,848868421318 49,0755923105285 55,8510254478631 49,0667690295303 55,8510602052147 49,0669888498878 55,8590267224895 49,072003740708 55,859278497036 49,0740250881726 55,8640417330845 49,0763634133865 55,8644822772042 49,0793085126276 55,8692599425676 49,077035350807 55,8695706214117 49,077118035886 55,8720531362307 49,0839775997428 55,8723909134901 49,085085495203 55,870734780173 49,0957224166008 55,8714768922188 49,1048214234981 55,8679821314794 49,1059956676562 55,8649419488701 49,1078564979425 55,8625470640388 49,1106863940431 55,8613210507663 49,1067536240092 55,8577984634221 49,0985710398202 55,8551910660467 49,0879508739187 55,8479290756276 3. Записать в таблицу Пока сделал так: просто открываю файл блокнотом, вставляю в пустое поле формы, нажимаю кнопку, текст преобразуется до этого состояния. А дальше как раз и спрашиваю как записать в таблицу ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2017, 04:10 |
|
Функция, запись данных из в поля формы в таблицу.
|
|||
---|---|---|---|
#18+
pnnkazan, а как эти данные будут в дальнейшем использоваться? И много ли будет записей? Хранить данные нужно так, ИМХО, как они будут использоваться в дальнейшем. Подобные данные можно хранить как XML в поле мемо или двоичные данные сохранённого массива в поле объекта OLE. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2017, 09:07 |
|
Функция, запись данных из в поля формы в таблицу.
|
|||
---|---|---|---|
#18+
pnnkazan, Вы бы лучше сам файл пристегнули... То что вы сюда выкинули не открывается как xml файл ни браузером и вообще ничем как xml... В старших версиях (2010) любой правильный файл xml пристегивается на ура с разбивкой по таблицам и в соответствии со структурой (см. пример на картинке)... Если такой возможности нет, ищите в поиске на сайте "импорт xml", но опять же - речь идет об импорте правильного файла... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2017, 13:02 |
|
Функция, запись данных из в поля формы в таблицу.
|
|||
---|---|---|---|
#18+
vmag, Панург, сам файл создается в других географических системах https://ru.wikipedia.org/wiki/KML . Таких файлов каждый месяц может быть десятками. Из этого файла нужны только координаты сектора, которые лучше хранить во временной таблице1. Так же есть база адресов с ID адреса и координатами, и База компаний, где у каждой есть от 0 до n.. адресов с Id адреса. Задача по сути в следующем: 1. Это загрузить такие файлы в базу. 2. Вытащить из них координаты секторов и название сектором по Name. 3. в отдельной таблице0 создать (Id сектора; Название сектора) 4. Записать во временную таблицу1 строго по порядку координаты (ID координат сектора; Id сектора; координата X; координата Y). 5. Определить Max(X;Y) и Min(X;Y) координаты по каждому сектору. 6. Функцией триангулирования прогнать каждый объект карты (здание) попадающее в диапазон по Max и Min. 7. В таблицу2 записать Id адреса и Id сектора (это будут объекты карты, которые находятся в данном секторе) 8. После записи в таблицу2, таблицу1 можно удалить она больше не нужна. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2017, 15:26 |
|
Функция, запись данных из в поля формы в таблицу.
|
|||
---|---|---|---|
#18+
pnnkazan, KML (от англ. Keyhole Markup Language — язык разметки Keyhole) — язык разметки на основе XML для представления трёхмерных геопространственных данных в программе «Google Планета Земля» («Keyhole» до её приобретения «Google»). навряд-ли акцесс что-либо сделает с этим файлом ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2017, 16:42 |
|
Функция, запись данных из в поля формы в таблицу.
|
|||
---|---|---|---|
#18+
sdku... навряд-ли акцесс что-либо сделает с этим файлом Access сделает то, чего мы его попросим, предварительно научив делать это. Я вот, например, "попросил" "нарисовать" :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2017, 16:51 |
|
Функция, запись данных из в поля формы в таблицу.
|
|||
---|---|---|---|
#18+
pnnkazan, Ну вот теперь файл dok.kml правильный, если сменить расширение на xml - в браузере открывается (см. картинку)... В общем ищите по форуму "импорт xml" и в путь... Для бесплатной работы ваше ТЗ крутовато, если со знанием дела, то пол дня - день убить точно придется... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2017, 16:54 |
|
Функция, запись данных из в поля формы в таблицу.
|
|||
---|---|---|---|
#18+
Если не охота разбираться с xml - загоняйте файл в строку, выкусывайте всё что нужно и ... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2017, 16:59 |
|
Функция, запись данных из в поля формы в таблицу.
|
|||
---|---|---|---|
#18+
Predeclared, "научить" Access рисовать (где-то читал,но никогда не использовал-max вставлял что-то готовое) это вполне реально-а вот работать с файлом имеющим расширение .kml "научить" не удастся ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2017, 17:01 |
|
Функция, запись данных из в поля формы в таблицу.
|
|||
---|---|---|---|
#18+
sdku...а вот работать с файлом имеющим расширение .kml "научить" не удастся Почему это? Вот научить за пивом Access бегать тяжеловато, а с файлами работать - вполне реально, в том числе и с kml. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2017, 17:24 |
|
Функция, запись данных из в поля формы в таблицу.
|
|||
---|---|---|---|
#18+
Нашел вот такой модуль для открытия файлов. Теперь думаю, а можно ли сразу с десяток файлов записать в таблицу с полем memo. Private Sub Кнопка9_Click() ' Requires reference to Microsoft Office 11.0 Object Library. Dim fDialog As Office.FileDialog Dim varFile As Variant ' Clear listbox contents. 'Me.FileList.RowSource = "" ' Set up the File Dialog. Set fDialog = Application.FileDialog(msoFileDialogFilePicker) With fDialog ' Allow user to make multiple selections in dialog box .AllowMultiSelect = True ' Set the title of the dialog box. .Title = "Выберете файлы границ секторов для импорта" ' Clear out the current filters, and add our own. .Filters.Clear .Filters.Add "Keyhole Markup Language", "*.KML" ' Show the dialog box. If the .Show method returns True, the ' user picked at least one file. If the .Show method returns ' False, the user clicked Cancel. If .Show = True Then 'Loop through each file selected and add it to our list box. For Each varFile In .SelectedItems 'Me.FileList.AddItem varFile Next Else 'MsgBox "You clicked Cancel in the file dialog box." End If End With End Sub ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2017, 17:43 |
|
Функция, запись данных из в поля формы в таблицу.
|
|||
---|---|---|---|
#18+
sdkuВангую: если поле в форме такие данные с клавиатуры не внесешь т.к нажатие TAB или ENTER перемещает в следующее поле если для постоянного пользования лучше сделать форму на таблице с полями X и Y если разово то добавить в таблицу поле с данными (ctl),выполнить процедуру и удалить его (если Акцесс ниже 2007 использовать DAO) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Сделал в итоге импорт файлов kml, в конечном счете запросом выдергивается данные, и имееют вид как в приложенной картинке. Сами данные: 49,0840388888889:55,8483944444444;49,0758420616469:55,8488684256352;49,0755923100512:55,8510254521809;49,0667690290435:55,8510602095323;49,066988849401:55,8590267268095;49,0720037402266:55,8592785013562;49,0740250876933:55,8640417374062;49,0763634129097:55,8644822815261;49,0793085121538:55,869259946891;49,0770353503307:55,8695706257352;49,0771180354098:55,8720531405549;49,0839775992738:55,8723909178146;49,0850854947352:55,870734784497;49,0957224161439:55,8714768965433;49,1048214230504:55,867982135803;49,1059956672097:55,8649419531928;49,1078564974979:55,8625470683608;49,1106863936013:55,861321055088;49,1067536235636:55,8577984677427;49,0985710393666:55,8551910703663;49,0879508734545:55,8479290799447 Теперь вопрос, как можно записать данные в таблицу, что бы они имели вид? Id IdSector X Y 1 1 49,08403889 55,84839444 2 1 49,07584206 55,84886843 3 1 49,07559231 55,85102545 4 1 49,06676903 55,85106021 5 1 49,06698885 55,85902673 6 1 49,07200374 55,8592785 7 1 49,07402509 55,86404174 8 1 49,07636341 55,86448228 9 1 49,07930851 55,86925995 10 1 49,07703535 55,86957063 11 1 49,07711804 55,87205314 12 1 49,0839776 55,87239092 13 1 49,08508549 55,87073478 14 1 49,09572242 55,8714769 15 1 49,10482142 55,86798214 16 1 49,10599567 55,86494195 17 1 49,1078565 55,86254707 18 1 49,11068639 55,86132106 19 1 49,10675362 55,85779847 20 1 49,09857104 55,85519107 21 1 49,08795087 55,84792908 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2017, 15:30 |
|
Функция, запись данных из в поля формы в таблицу.
|
|||
---|---|---|---|
#18+
pnnkazanТеперь вопрос, как можно записать данные в таблицу, что бы они имели вид?Зачем? Ты же данные всёодно похеришь потом. Создай массив и работай с ним. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2017, 15:48 |
|
Функция, запись данных из в поля формы в таблицу.
|
|||
---|---|---|---|
#18+
ПанургpnnkazanТеперь вопрос, как можно записать данные в таблицу, что бы они имели вид?Зачем? Ты же данные всёодно похеришь потом. Создай массив и работай с ним. Сейчас VBA слабая сторона, может подскажете как задать массив из запроса? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2017, 15:58 |
|
Функция, запись данных из в поля формы в таблицу.
|
|||
---|---|---|---|
#18+
Коллега sdku вам уже дал направление. Открываете 1-й Recordset на своем запросе, а 2-й на таблице-получателе. Функцией Split с разделителем ";" получаете массив из пар значений, а Split с разделителем ":" для каждой пары получаете массив из 2-х отдельных значений. Все это и записываете во 2-й Recordset. Если поля X и Y - числовые, то их тип должен быть Decimal. Кроме того, если в вашей системе десятичный разделитель - ",", то понадобится преобразование в числах "." на ",". ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2017, 16:12 |
|
Функция, запись данных из в поля формы в таблицу.
|
|||
---|---|---|---|
#18+
pnnkazanСейчас VBA слабая сторона, может подскажете как задать массив из запроса?Ты же собрался pnnkazanФункцией триангулирования прогнать каждый объект карты (здание) попадающее в диапазон по Max и Min.Вот передавай туда строку из мемо поля, разбивай сплитом, а пары координат точек (чет-нечет) обрабатывай. Тип хватит и Double - координаты избыточны. Смысла переводить в рекордсет не вижу вообще. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2017, 16:30 |
|
Функция, запись данных из в поля формы в таблицу.
|
|||
---|---|---|---|
#18+
2 проблемы: 1. Вылетает ошибка в строке rs2.X = Str(b(0)) - Method or data member not found 2. Если убрать rs2.X = Str(b(0)) и rs2.Y = Str(b(1)), и туда вставить rs2.С = a(i), то вроде записывается в тбл TSC в столбец С, но не всё, а в сумме по всему столбцу 247 символов, т.е. массив 'a' имеет в сумме максимум 247 символов. В таблице TSC типы полей X,Y - одинарные с плавающей точкой, С - длинный текст, в таблице CRMTSCF поле CS - длинный текст. Код: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Подскажите пожалуйста, что не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2017, 00:11 |
|
Функция, запись данных из в поля формы в таблицу.
|
|||
---|---|---|---|
#18+
Вот такой список выдает: 49,0840388888889:55,8483944444444 49,0758420616469:55,8488684256352 49,0755923100512:55,8510254521809 49,0667690290435:55,8510602095323 49,066988849401:55,8590267268095 49,0720037402266:55,8592785013562 49,0740250876933:55,8640417374062 49,0763634129097:5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2017, 00:16 |
|
|
start [/forum/topic.php?fid=45&msg=39414009&tid=1612665]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 141ms |
0 / 0 |