|     0
            - 17.10.2014 - 11:09
           |      
                    Как получить значение поля таблицы FB, зная наименование поля? Выдается ошибка с цифровых полей. Запрос такой : СтрокаПолей ="select SSUM,RSUM from NACH"; ЗапДан = СоздатьОбъект("ADODB.Command"); ЗапДан.ActiveConnection = ГДБ; ЗапДан.CommandText = СокрЛП(СтрокаПолей); БазаДан = СоздатьОбъект("ADODB.RecordSet"); БазаДан = ЗапДан.Execute(); //Выполнить БазаДан.MoveFirst(); Пока БазаДан.EOF() = 0 Цикл имяПоля="SSUM"; Значен = БазаДан.Fields(имяПоля).Value; БазаДан.MoveNext(); КонецЦикла; Выдает ошибку : БазаДан.Fields(имяПоля).Value = Ошибка в выражении! Пробовала и Text и Value2 - в этом случае ошибка при получении данных из любого поля.  |    |  
|     1
            - 17.10.2014 - 11:38
           |     
			
			
                Эту ссылку смотрела? http://forum.sources.ru/index.php?sh...&#entry2125080 Там по-моему есть получение данных.  |    |  
|     2
            - 17.10.2014 - 11:39
           |     
			
			
                Вот еще на инфостарте, например, есть обработка: http://infostart.ru/public/61622/  |    |  
|     3
            - 17.10.2014 - 11:56
           |     
			
			
                (1) эту еще не смотрела. Пытаюсь в море инфы найти нужную.  (2) именно эту обработку я и скачала. Она и выдает ошибки. Наверное, писалась под определенные данные. Вот ты знаешь, как определить тип данных в поле? Пока нашла только описание типов и что получение числовых данных тоже вызывает проблему. Может быть в запросе как-то нужно это прописывать? Просто как внутри связаны эти таблицы я вообще не имею представления. Разрабов ее написавшие нет. Есть только выходные данные в виде проги ехе, файла бд и пользовательского интерфейса.  |    |  
|     4
            - 17.10.2014 - 12:04
           |     
			
			
                Ну значит преобразуй числовой тип в текстовый в самом запросе: "select CAST(SSUM AS CHAR(15)) AS SSUM , CAST(RSUM AS CHAR(15)) AS RSUM from NACH";  |    |  
|     5
            - 17.10.2014 - 12:38
           |     
			
			
                А когда перебираешь записи нельзя сразу поставить условие : Если тип Числовой - перевести в текстовый. Это FB - не умеет? Просто в базе 20 таблиц. В каждой минимум 3 поля. Проанализировать каждую таблицу, для каждого поля прописать.... Там же не по 1-2 числовых, есть и больше. Сами идентификаторы - тоже числа. Уйма времени и кода. Что б попытаться найти нужные данные, мне нужно сделать вывод значений, хранящихся в них. А потом их проанализировать, сопоставив с визуальными данными отчетов и выводимой на экран информацией. Но на будущее я возьму эту формулу. Может очень пригодиться. Спасибо.  |    |  
|     7
            - 17.10.2014 - 14:44
           |     
			
			
                И по номеру обращалась и по имени - результат един. Спасибо, поюзаю ))  |    |  
|     8
            - 17.10.2014 - 14:49
           |     
			
			
                7-Lisonia > Value = СокрЛП(БазаДан.Fields(имяПоля).Value); Так тоже ошибка?  |    |  
|     9
            - 17.10.2014 - 14:50
           |     
			
			
                Пробуй явно задать имя поля в выборке: СтрокаПолей ="select SSUM as SSUM, RSUM as RSUM from NACH";  |    |  
|     10
            - 17.10.2014 - 15:54
           |     
			
			
                Табле = "'NACH'" СтрокаПолей = "select ID as ID,FLS as FLS,DT as DT,IDUSL as IDUSL,TSUM as TSUM,RSUM as RSUM,SSUM as SSUM from NACH" Значен = "TSUM" БазаДан.Fields(Значен).Value = Ошибка в выражении! FloatToStr(БазаДан.Fields(Значен).Value) = Ошибка в выражении! БазаДан.Fields(Значен).Text = Ошибка в выражении! СокрЛП(БазаДан.Fields(Значен).Value) = Ошибка в выражении!  |    |  
|     11
            - 17.10.2014 - 16:02
           |     
			
			
                10-Lisonia >Посмотри в IBExpert точный тип поля TSUM. А лучше, если есть возможность, выложи куда-нибудь БД и сбрось мне ссылку в личку. Чудеса, да и только!  |    |  
|     12
            - 17.10.2014 - 16:24
           |  IBExpert - выдает ошибку. Сперва ругался на длл, после перезагрузки просто не открывает. |   |  
|     13
            - 17.10.2014 - 16:30
           |     
			
			
                12-Lisonia >Базу кидай куда-нибудь. По фотке лечить не умею.  |    |  
|     14
            - 17.10.2014 - 16:38
           |     
			
			
                Спасибо, на какой файлообменник лучше залить? На мои привычные - не льет. или из дома позже попробую залить. Буду ждать ответа.  Заранее спасибо за желание помочь!  |    |  
|     15
            - 17.10.2014 - 16:42
           |     
			
			
                14-Lisonia >Да хоть на какие :) Если торрентом пользуешься, то можешь создать персональный торрент и выслать мне торрент файл, я на прямую у тебя скачаю. Как это сделать - инструкцию легко найдешь в яндексе. Если БД меньше гига, можешь на http://webfiles.ru/ залить.  |    |  
|     16
            - 17.10.2014 - 16:46
           |  14-Lisonia >Я тебе в личку сообщение отправил, проверь. |   |  
|     17
            - 17.10.2014 - 18:24
           |      хмм.. может ошибаюсь, но Значен = БазаДан.Fields.Item(имяПоля).Value; или Значен = БазаДан.Fields.Item(НомерПоля).Value;  |    |  
|     18
            - 17.10.2014 - 18:30
           |     
			
			
                17-Блондинка в шок >Не, не, именно .Fields(n).Value Итема там не было :)  |    |  
|     19
            - 17.10.2014 - 18:58
           |  Кстати, на одном форуме было написано именно Item. Я пробовала это в обработке - выдавал тоже самое значение, что и без оного - по крайней мере, на моем файле. |   |  
|     20
            - 17.10.2014 - 19:22
           |     
			
			
                ну не знаю, я с ADO всегда по букварю делала. А в букваре все примеры с item http://www.w3schools.com/asp/ado_ref_recordset.asp хотя мелкомягкие и говорят, что это одно и то же: http://msdn.microsoft.com/ru-ru/libr...(v=vs.85).aspx  |    |  
|     21
            - 17.10.2014 - 19:43
           |  А есть букварь на русском языке?))) |   |  
|     22
            - 18.10.2014 - 00:02
           |     
			
			
                20-Блондинка в шок >Тут понимаешь в чем фишка: RecordSet.Fields(0).Value = RecordSet.Fields.Item(0)  |    |  
 Интернет-форум Краснодарского края и Краснодара |