powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / String длиннее 255 символов в VBA
25 сообщений из 52, страница 2 из 3
String длиннее 255 символов в VBA
    #34327873
sunnya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
natalitvinenkoТак все работает. Почему - не знаю. A97 Win 98

А при занесении в конечную переменную разве не обрезает? у меня как раз это и случается(((
...
Рейтинг: 0 / 0
String длиннее 255 символов в VBA
    #34327901
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sunnya Когда добавляю ещё проверку одного параметра:
Код: plaintext
 
последние скобки у меня уже не помещаются
а чем вы меряли помесщяемость?
не прислоните измеритель к экрану?
а то ить мне тут не видно.


и вобше давно высказано предположение о наличии на форме текстового поля с именем strQuery, а вы его даже не прокомментировали
...
Рейтинг: 0 / 0
String длиннее 255 символов в VBA
    #34327947
sunnya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
4321 sunnya Когда добавляю ещё проверку одного параметра:
Код: plaintext
 
последние скобки у меня уже не помещаются
а чем вы меряли помесщяемость?
не прислоните измеритель к экрану?
а то ить мне тут не видно.

MS Word word count.


4321и вобше давно высказано предположение о наличии на форме текстового поля с именем strQuery, а вы его даже не прокомментировали

RestavraciyaЕсли эта "переменная" - текстовое поле формы связанное с полем текстого типа источника данных таблица, то руки прямые :-)


смотрите третье сообщение в топике, там отрицается наличие текстбоксов на форме в принципе
...
Рейтинг: 0 / 0
String длиннее 255 символов в VBA
    #34327965
тогда...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно увидеть исправленный код (который по крайней мере компилируется)?
...
Рейтинг: 0 / 0
String длиннее 255 символов в VBA
    #34327969
Фотография natalitvinenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sunnya
А при занесении в конечную переменную разве не обрезает? у меня как раз это и случается(((
Нет! В том то и дело, что при сборе не в одну переменную - не обрезает. Я по молодости сделала так, как указала, а потом решила переделать, как надо, по - правильному, то есть как у Вас. И немедленно всплыла ошибка, о которой вы говорите. Открутила назад.
...
Рейтинг: 0 / 0
String длиннее 255 символов в VBA
    #34327970
sunnya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тогда...Можно увидеть исправленный код (который по крайней мере компилируется)?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Dim stDocName As String
    Dim strQuery As String *  1024 
    Dim strQ1
    Dim ww As String
    Dim intNum As Integer
    
    strQ1 = ""
    
    If Forms!ChoosePeriod.Frame =  0  Then ww = "m" Else: ww = "ww"
    intNum = Forms.ChoosePeriod.Combo_dates


    strQuery = "SELECT *,dbo.GetPgs4Daily(FileID) AS Pages,dbo.fGT(FileID) AS Tr,dbo.fGE(FileID)as Ed " & _
        "FROM tTranslations " & _
        "WHERE (year(datereceived)=year(getdate())and datepart(" & ww & ",DateDelivery)=" & intNum & " and datepart(" & ww & ",DateReceived)<=" & _
        intNum & " or datedelivery is null)"
        
        If Forms!ChoosePeriod.CheckMy = - 1  Then strQ1 = " and Manager=User_id()"
        
    Reports!WM.RecordSource = strQuery & strQ1
...
Рейтинг: 0 / 0
String длиннее 255 символов в VBA
    #34327982
Работает. Закомментарил
'If Forms!ChoosePeriod.Frame = 0 Then ww = "m" Else: ww = "ww"
'intNum = Forms.ChoosePeriod.Combo_dates

и убрал
If Forms!ChoosePeriod.CheckMy = -1 Then strQ1 = " and Manager=User_id()"

Reports!WM.RecordSource = strQuery & strQ1
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Sub TestString2()
Dim stDocName As String
    Dim strQuery As String *  1024 
    Dim strQ1
    Dim ww As String
    Dim intNum As Integer
    
    strQ1 = ""
    
    'If Forms!ChoosePeriod.Frame = 0 Then ww = "m" Else: ww = "ww"
    'intNum = Forms.ChoosePeriod.Combo_dates


    strQuery = "SELECT *,dbo.GetPgs4Daily(FileID) AS Pages,dbo.fGT(FileID) AS Tr,dbo.fGE(FileID)as Ed " & _
        "FROM tTranslations " & _
        "WHERE (year(datereceived)=year(getdate())and datepart(" & ww & ",DateDelivery)=" & intNum & " and datepart(" & ww & ",DateReceived)<=" & _
        intNum & " or datedelivery is null)"
        
    Debug.Print strQuery
    
    MsgBox Len(strQuery)

End Sub
...
Рейтинг: 0 / 0
String длиннее 255 символов в VBA
    #34328001
sunnya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все работает как положеноРаботает.

Вот, а у меня получается, что эта строка (strQuery) все равно не больше 255 знаков
...
Рейтинг: 0 / 0
String длиннее 255 символов в VBA
    #34328004
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sunnyaMS Word word count.Ы??????????????????

а отладчики или ошибки уже не в моде?


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

покажите куда вы в коде пытаетесь запхнуть вашу строку, и где в коде она не пролазит, и, самое главное - покажите как она у вас не пролазит (т.е. таки прислоните этим боком к экрану)
...
Рейтинг: 0 / 0
String длиннее 255 символов в VBA
    #34328057
Фотография natalitvinenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще - не нервничайте, а попробуйте запустить код утром. Может внезапно заработать. Бывало.
...
Рейтинг: 0 / 0
String длиннее 255 символов в VBA
    #34328118
sunnya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
4321 sunnyaMS Word word count.Ы??????????????????

а отладчики или ошибки уже не в моде?
а какой отладчик вы порекомендуете?

Простите, если я что-то не так говорю, я совершенно не специалист в данном вопросе, но руководство так не считает :(
...
Рейтинг: 0 / 0
String длиннее 255 символов в VBA
    #34328150
sunnya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
4321покажите куда вы в коде пытаетесь запхнуть вашу строку, и где в коде она не пролазит, и, самое главное - покажите как она у вас не пролазит (т.е. таки прислоните этим боком к экрану)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
    Dim stDocName As String
    Dim strQuery As String *  1024 
    Dim ww As String
    Dim intNum As Integer

    If Forms!ChoosePeriod.Frame =  0  Then ww = "m" Else: ww = "ww"
    intNum = Forms.ChoosePeriod.Combo_dates


    strQuery = "SELECT *,dbo.GetPgs4Daily(FileID) AS Pages,dbo.fGT(FileID) AS Tr,dbo.fGE(FileID)as Ed " & _
        "FROM tTranslations " & _
        "WHERE (year(datereceived)=year(getdate())and datepart(" & ww & ",DateDelivery)=" & intNum & " and datepart(" & ww & ",DateReceived)<=" & _
        intNum & " or datedelivery is null)"
        
        If Forms!ChoosePeriod.CheckMy = - 1  Then strQuery = strQuery & " and Manager=User_id()"
        
    Forms!WM.RecordSource = strQuery & strQ1
После выполнения этого кода (при checkmy = -1) в переменной сохраняется строка:
"SELECT *,dbo.GetPgs4Daily(FileID) AS Pages,dbo.fGT(FileID) AS Tr,dbo.fGE(FileID)as Ed FROM tTranslations WHERE (year(datereceived)=year(getdate())and datepart(ww,DateDelivery)=7 and datepart(ww,DateReceived)<=7 or datedelivery is null) and manager=User"
...
Рейтинг: 0 / 0
String длиннее 255 символов в VBA
    #34328185
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sunnya После выполнения этого кода (при checkmy = -1) в переменной сохраняется строка:
исчо раз: как вы об этом узнаетет?

вставьте предложенное выше
Код: plaintext
1.
    Debug.Print strQuery
    MsgBox Len(strQuery)
и продемонстрируйте ответы.
...
Рейтинг: 0 / 0
String длиннее 255 символов в VBA
    #34328198
sunnya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
4321 sunnya После выполнения этого кода (при checkmy = -1) в переменной сохраняется строка:
исчо раз: как вы об этом узнаетет?

вставьте предложенное выше
Код: plaintext
1.
    Debug.Print strQuery
    MsgBox Len(strQuery)
и продемонстрируйте ответы.

Собственно говоря оттуда я это и копировал прежде. Но сейчас почему-то заработало, хотя я ничего не менял... Руки кривые, видимо
...
Рейтинг: 0 / 0
String длиннее 255 символов в VBA
    #34328213
sunnya 4321 sunnya После выполнения этого кода (при checkmy = -1) в переменной сохраняется строка:
исчо раз: как вы об этом узнаетет?

вставьте предложенное выше
Код: plaintext
1.
    Debug.Print strQuery
    MsgBox Len(strQuery)
и продемонстрируйте ответы.

Собственно говоря оттуда я это и копировал прежде. Но сейчас почему-то заработало, хотя я ничего не менял... Руки кривые, видимо
Это отмазка... :-)
Просто нужно быть внимательнее - и внимательно читать вопросы и ответы, которые Вам дают.
...
Рейтинг: 0 / 0
String длиннее 255 символов в VBA
    #34328224
sunnya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
миф о кривых рукахЭто отмазка... :-)
Просто нужно быть внимательнее - и внимательно читать вопросы и ответы, которые Вам дают.

Кривые руки - имхо не умение проверять себя и слушать других.

Не подскажете, с чем могла быть связана там ошибка и почему когда я объявлял переменную просто "Dim strQuery as String" ее длина была только 255 знаков?

Можно ли объявить что-то вроде varchar?
...
Рейтинг: 0 / 0
String длиннее 255 символов в VBA
    #34329251
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sunnyaНе подскажете, с чем могла быть связана там ошибка и почему когда я объявлял переменную просто "Dim strQuery as String" ее длина была только 255 знаков?

Можно ли объявить что-то вроде varchar?Ну нету в VBA типа varchar! А 255 знаков, это где-то, что-то Вы не так делаете. Мне пришлось как-то в программе на Access считывать данные из СОМ-порта в переменную String, так 32К она втягивала спокойно. Ну выложите кусочек Вашей базы, чтобы её пощупать. Чудес на свете практически не бывает.
...
Рейтинг: 0 / 0
String длиннее 255 символов в VBA
    #34329652
COP001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня было так: из кучи конотролов на форме нужно было собирать строку для инсерта, в том числе и выражения типа CONVERT(money, МоеЗначение) причем таких было несколько. При попытке отработать инсерт сообщение о неправильном SQL. В debug смотрю чему равна строка, которую я скармливаю DoCmd.RunSQL и получаю строку обрезанную после 255 знака. (Эту строку копи-пастил в WORD - в свойствах документа размер 255 символов.)
...
Рейтинг: 0 / 0
String длиннее 255 символов в VBA
    #34330339
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет ограничения на строку, (для реальных использований, т.е. не для хранения в них книг)
есть при использовании длинных строк происходит обрезание при передачи содержимого этой строки ,но сама строка остаётся целой.
...
Рейтинг: 0 / 0
String длиннее 255 символов в VBA
    #34561563
Запрос с группировкой обрезает строку до 255, если группировку убрать - строка не обрезается. Тупо, в лоб -собрал строку и закинул в таблицу в поле типо MEMO. Лежит там, пока не понадобиться. Окончательный запрос - без группировки, достает строку из таблицы - все работает. Имеется задача - полученный результат выгрузить в EXCEL. Тоже обрезает, поэтому -тупо в лоб, сначала в WORD, а затем из WORD - в EXCEL...
...
Рейтинг: 0 / 0
String длиннее 255 символов в VBA
    #34568348
Типы данных и размеры полейТип данных «Поле MЕМО» используется для хранения более 255 знаков. В поле MЕМО может находится до 65 536 знаков. Для хранения форматированного текста или длинных документов вместо поля MЕМО создайте поле объекта OLE.
...
Можно отсортировать или сгруппировать текстовые поля и поля типа MEMO, но Microsoft Access использует только первые 255 знаков при сортировке и группировке поля MEMO.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
String длиннее 255 символов в VBA
    #39439969
PavelVX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Займусь некрофилией :)
Офис 2010, ListBox.
В первой колонке название блока параметров, выводится на экран.
Во второй набор параметров. На экран не выводится.
Т.е. пользователь выбирает необходимый ему набор параметров и запускает выполнение.
С развитием системы длинна текста во второй колонке росла. И тут выяснилось, что есть ограничение в длину в 256 символов.

Т.е.
Код: vbnet
1.
2.
3.
4.
5.
Dim str as String
str = "Параметр" & ";" & "ParametersLine ... "
msgbox len(str) 'выведет 635
me.myListBox.AddItem str
msgbox len(me.myListBox.Column(1, 0)) ' выведет 256


Подскажите, можно ли как-то обойти это ограничение?
...
Рейтинг: 0 / 0
String длиннее 255 символов в VBA
    #39440008
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavelVXВ первой колонке название блока параметров, выводится на экран.
Во второй набор параметров. На экран не выводится.

- Убрать вторую колонку от слова вообще...
- когда нужно получить значение, использовать DLookup
...
Рейтинг: 0 / 0
String длиннее 255 символов в VBA
    #39440019
PavelVX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если бы можно было использовать таблички, то вопрос бы и не вставал.
Но в данном случае все формируется динамически под конкретного пользователя и конкретные условия.
Таблицу не задействовать :(
...
Рейтинг: 0 / 0
String длиннее 255 символов в VBA
    #39440028
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PavelVXНо в данном случае все формируется динамически под конкретного пользователя и конкретные условия.

Параллельно писать в текстовый массив и брать значение оттуда...
В списке:
0,1,2,3,... первый столбец - нумерация (скрытый), для выбора значения из списка...
Названия блока параметров - второй столбец (показываем)
В массиве:
m(i) - значение (набор параметров), соответствующий выбранному значению в списке.
...
Рейтинг: 0 / 0
25 сообщений из 52, страница 2 из 3
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / String длиннее 255 символов в VBA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]