-Поиск по дневнику

Поиск сообщений в rss_sql_ru_access_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 16.03.2006
Записей:
Комментариев:
Написано: 4

Invalid link!








Добавить любой RSS - источник (включая журнал LiveJournal) в свою ленту друзей вы можете на странице синдикации.

Исходная информация - http://www.sql.ru/forum/actualtopics.aspx?bid=4.
Данный дневник сформирован из открытого RSS-источника по адресу http://www.sql.ru/forum/actualrss.aspx?id=4, и дополняется в соответствии с дополнением данного источника. Он может не соответствовать содержимому оригинальной страницы. Трансляция создана автоматически по запросу читателей этой RSS ленты.
По всем вопросам о работе данного сервиса обращаться со страницы контактной информации.

[Обновить трансляцию]

Массив. Не могу передать из функции переменной

Пятница, 10 Августа 2018 г. 09:31 + в цитатник
Dim x() As Variant
ReDim x(LBound(y_func("ololol"), 1) To UBound(y_func("ololol"), 1), _            'изначально этой строки не было, написал в попытке'
 LBound(y_func("ololol"), 2) To UBound(y_func("ololol"), 2))                          'исправить, но оно всё равно не работает'
x = y_func("ololol")           'Пишет type mismatch'
End Sub

Function SplitPrmCln(NamePrmtr As String) As Variant
Dim y As String, x As Variant, i As Integer, j As Integer, cnt As Integer
y = CurrentDb.OpenRecordset("Select VLE from prmtr_main where Prmtr = '" & NamePrmtr & "'")!Vle        'y=1_4_3,2_4_6,3_5_-3,4_5_0'
x = Split(y, ",")
ReDim x(LBound(x) To UBound(x), 1 To 3)
For i = LBound(x, 1) To UBound(x, 1)
    For j = 0 To 2
        x(i, j + 1) = Split(Split(y, ",")(i), "_")(j)
    Next
Next
SplitPrmCln = x
End Function


Помогите, пожалуйста! Как передать значение этой функции?
____
vk.com/taenfox

http://www.sql.ru/forum/1300765/massiv-ne-mogu-peredat-iz-funkcii-peremennoy


Внос данных с поля со списком в таблицу.

Четверг, 09 Августа 2018 г. 17:00 + в цитатник
Всем привет.

Столкнулся с проблемой.
В таблице [Movement] есть связанное поле [DocID].
Так же на форме есть поле со списком, где с классификатора (TypeDoc) выводятся данные.
Если выбрать в поле со списком любое значение и запустить запрос (ниже), то выбивает ошибку. Ну а если запустить без Insert, то всё хорошо выводится.

INSERT INTO Movement (DocID)
SELECT
	[Forms]![Packet]![Список_Packet_Тип_Документа] AS DocID
FROM Packet;



Источник строк для поля со списком
SELECT TypeDoc.ID, TypeDoc.DocName
FROM TypeDoc
WHERE (((TypeDoc.ID)<>1))
ORDER BY TypeDoc.DocName;

http://www.sql.ru/forum/1300739/vnos-dannyh-s-polya-so-spiskom-v-tablicu


ListBox

Четверг, 09 Августа 2018 г. 16:04 + в цитатник
Здравствуйте.
Помогите пожалуйста. Мне необходимо вытащить значение во второй колонке Listbox-а первой не выбранной строки (первая строка сто процентно там есть). Я так понимаю без выбора строки это будет сложно? Подскажите пожалуйста как обратиться к значению.

http://www.sql.ru/forum/1300733/listbox


Внос текста в Надпись

Четверг, 09 Августа 2018 г. 14:55 + в цитатник
Всем привет.

На форме есть 3 Надписи. Нужно внести в них значения с таблицы (Packet)
В таблице всегда только одна строка и три заполненных поля. Но эти поля созданы с помощью мастера подстановок.

Как внести значения в надписи?
Нашёл в нете такое (ниже). но как рассчитать запрос и внести его в поле?

Dim dbsNorthwind As DAO.Database
Dim rstProducts As DAO.Recordset
Dim strSQL As String

Set dbsNorthwind = CurrentDb
strSQL = "SELECT Address.Address FROM Packet INNER JOIN Address ON Packet.AdrID = Address.FilID;"
Set rstProducts = dbsNorthwind.OpenRecordset(strSQL)


Me.А_Поставщик.Caption = ?

http://www.sql.ru/forum/1300729/vnos-teksta-v-nadpis


О типе comboBox

Четверг, 09 Августа 2018 г. 11:51 + в цитатник
Есть у меня на форме combobox, по русски - поле со списком. Первоначально присоединённый столбец был в символьном виде. Потом я его переделал на числовой. Но комбобокс всё равно выдаёт значения в текстовом виде: т.е. вместо 3, 5, 11 он выдаёт "3", "5", "11". Как ему мозги вправить? Что надо сделать, чтоб он выдавал значения в числовом виде?


-------------------------------------------------------------
А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса?

http://www.sql.ru/forum/1300702/o-tipe-combobox


Максимум из Recordset

Четверг, 09 Августа 2018 г. 10:50 + в цитатник
Подскажите, пожалуйста, можно ли из уже запущенного Recordset вытащить информацию о максимальном значении из разных полей?
как?

Запрос например

SELECT ID, YEARNUM, TEMPERATURE, CITY
FROM WEATHER

и вот узнать до какого года (YEARNUM) у нас статистика есть

____
vk.com/taenfox

http://www.sql.ru/forum/1300697/maksimum-iz-recordset


В Count вывести 0

Четверг, 09 Августа 2018 г. 10:37 + в цитатник
Всем привет.
Подскажите запрос, который вернул количество "Сдал". Скрин прилагается
Иванов 2
Петров 1
Сидоров 0
Павлов 0

http://www.sql.ru/forum/1300696/v-count-vyvesti-0


Вопрос по отображении времени

Четверг, 09 Августа 2018 г. 09:13 + в цитатник
Как представить время вида "05.01.1900 0:17:00" в формат "120:17:00"
Спасибо

http://www.sql.ru/forum/1300690/vopros-po-otobrazhenii-vremeni


MS Access 2.0 Как сменить сетевой путь к базе данных

Среда, 08 Августа 2018 г. 17:14 + в цитатник
Всех приветствую.
В общем, есть чужая БД учета, написанная под старючий MS Access 2.0.
Программа разделена на две части-каталога, один каталог локальный-пользовательский, и второй сетевой - думаю, собсно, сама БД.
Для работы сетевой части создан сетевой ресурс, в который выложена сама БД, и этот ресурс подключается, как сетевой диск на всех раб.станциях - к примеру, пусть будет F:\ <=> \\server\D\
Где-то в локальной части БД пользователя в настройках свойств многих таблиц помимо локального пути в виде "F:\..." прописан абсолютный UNC-путь - "\\server\D\...", т.е. часть таблиц так, а часть - сяк. За автора этой БД уже "пирожки съели", так что поддержки уже давно никакой нету вообще.
Я акцесс вообще особо не знаю, так, по мелочи - что-то в свойствах где-то подправить, принтер подключить/перенастроить и т.д.,- до чего сам додумаюсь.
Так вот, в связи с переносом сетевой БД на другой комп необходимо также изменить все UNC-пути к таким таблицам, у которых в свойствах путь прописан через Ж..., а не через "F:\..."
Сама программа запускается локального каталога БД, типа: "D:\catalog\db01.mdb", и далее грузятся всякие модули-формы и прочее.
После переноса сетевой БД на другой комп при попытке открытия программы через некоторое время выдается сообщение об ошибке:
"База: ТАКАЯ ТО Ошибка:Path not found Код: 76 Строка:0 Банк данных, вероятно, был перемещен в другой каталог. Прервать выполнение программы? (Да/Нет)"
Прошу помощи,как это сделать, а то я уже запарился там искать - таблиц много, руками перебирать - тронуться можно, скорее всего это надо каким-то простеньким скриптиком сделать.

http://www.sql.ru/forum/1300667/ms-access-2-0-kak-smenit-setevoy-put-k-baze-dannyh


Как получить редактируемый Recordset из UDF

Среда, 08 Августа 2018 г. 12:15 + в цитатник
Есть MDB со связанными на SQL Server таблицами. На сервере UDF типа:
CREATE FUNCTION [dbo].[TestUDF]
(	
	@forCode int
)
RETURNS TABLE 
AS
RETURN 
(
	SELECT top (100) PERCENT * FROM Box WHERE Box.Code=@forCode
)

Как из неё получить редактируемый Recordset ?
Я пытался, так же как открываю SP:
+
Public Function OpenSP(ByVal name As String, cmdType As ADODB.CommandTypeEnum, ParamArray ParamsAndValues()) As ADODB.Recordset
    Dim e As Error
    Dim cnn As ADODB.Connection
    Dim cmd As ADODB.Command
    Dim param As ADODB.Parameter
    Dim rst As ADODB.Recordset
    Dim expr As String
    Dim I As Long
        
On Error GoTo err_me

    Set cnn = New ADODB.Connection
    cnn.Open ConnString
    Set cmd = New ADODB.Command
    Set cmd.ActiveConnection = cnn
    
    Set rst = New ADODB.Recordset
    Set rst.ActiveConnection = cnn
    
    cmd.CommandText = name
    cmd.CommandType = cmdType
    cmd.NamedParameters = True
    
    ' evaluated params 
On Error Resume Next
    For Each param In cmd.Parameters
        If param.Direction = adParamInput Or param.Direction = adParamInputOutput Then
            expr = GetOriginalName(param.name)
            param.Value = Eval(expr)
        End If
    Next param
On Error GoTo err_me
    'passed params
    For I = LBound(ParamsAndValues) To UBound(ParamsAndValues) Step 2
        Set param = cmd.Parameters("@" & ParamsAndValues(I))
        param.Value = ParamsAndValues(I + 1)
    Next I
    
    rst.CursorType = adOpenDynamic
    rst.CursorLocation = adUseClient
    rst.Open cmd
    
    Set OpenSP = rst

exit_me:
    Exit Function
err_me:
    Debug.Print Now, Err.Number, Err.Description
    For Each e In DBEngine.Errors
        Debug.Print "", e.Number, e.source, e.Description
    Next e
    Debug.Print , , name
    Debug.Assert False
    Err.Clear
    Resume exit_me
End Function

Вызов
?openSP("TestUDF",adCmdText ,"forCode",7777).RecordCount 

Но ошибка уже на этапе работы с коллекцией параметров.

http://www.sql.ru/forum/1300647/kak-poluchit-redaktiruemyy-recordset-iz-udf


OutLook 2016 - как понять что занят ?

Вторник, 07 Августа 2018 г. 13:18 + в цитатник
msa через outlook.application получает список (mapi) и по нему что-то делает - все норм
но иногда почтарь тащит толстое вложение и сильно занят - msa тоже тогда повисает
все висят-все заняты :) ...ну и даже, если вложение прибыло, то развисон в msa ток можно
ток брейком сделать - может кто знает: как-то можно статус готовности outlook отдуплиться
узнать из msa ?

http://www.sql.ru/forum/1300597/outlook-2016-kak-ponyat-chto-zanyat


Динамический запрос

Вторник, 07 Августа 2018 г. 11:21 + в цитатник
Всем привет.

Попробую объяснить суть проблемы.

Есть общая таблица, где хранятся данные для документов. И есть вторая таблица, где указаны какие столбцы нужно для конктретно одному типу документа (пусть она будет называться [Doc_Colums]. Ниже пример с неё)

Пользователь должен на форме в "поле со списком" выбрать тип документа и нажать кнопку. После должен вывестись таблица с строго своими столбцами, которые указаны в таблице [Doc_Colums]. (и можно было редактировать поля)

Как можно так реализовать динамический запрос?
Получится, если выбрать документ ТТН, то должно вывести 4 столбца.


Пример наполнения таблицы [Doc_Colums]:

DocName		Columns
----------------------------
ТТН DocNum
ТТН DocDate
ТТН Account
ТТН Note
доп.соглашение Date_DTZ
доп.соглашение DocID
доп.соглашение DocNum
доп.соглашение DocDate

Таких типов документов сейчас 18, и будет расти. Так что вариант с созданием для каждого типа документа создать свою форму - отпадает.

http://www.sql.ru/forum/1300583/dinamicheskiy-zapros


Контролл в форме не показывает результат запроса

Вторник, 07 Августа 2018 г. 11:19 + в цитатник
Добрый день!
Ситуация:
Access 2010 из Office Professional 2010, русский
Есть форма Frm, режим - Только чтение, вид - Таблица.
Источник данных - SQL запрос из таблицы Tbl1, которая по ключевому полю x1 (тип String)
связана с таблицей Tbl2, отношение "один-ко-многим".
Таблица Tbl2 связана с таблицей Tbl3 по НЕ ключевому полю x2 (тип String).
Тbl1.[x1] отображается в Frm.[x], тип контрола - поле.
В Frm.[y], тип контрола - поле со списком - должен отображаться результат SQL запроса из Tbl3.

Все происходит в событии OnOpen формы Frm:

Private Sub Form_Open(Cancel As Integer)
  Dim RecSource As String, S As String

  RecSource = varSQL_PK ' глобальная переменная с именем запроса
  Me.RecordSource = RecSource
  S = Me.[x] 'ключевое поле
  With [y]
    .BoundColumn = 1
    .RowSource = _
      "SELECT Tbl3.[x2], Tbl3.[x3] FROM Tbl3" + _
      " INNER JOIN (Tbl2" + _
      " INNER JOIN " + RecSource + _
      " ON Tbl2.[x1]=" + RecSource + ".[x1])" + _
      " ON Tbl3.[x2]=Tbl2.[x2]" + _
      " WHERE Tbl2.[x1]='" + _
      S + "'" + _
      " ORDER BY Tbl3.[x3];"

    .RowSourceType = "Table/Query"
    .ColumnCount = 2
    .ColumnWidths = "0см;3,652см"
    .LimitToList = True
    .AllowValueListEdits = False
    .InheritValueList = True

    .Requery
  End With

End Sub

Проблема:
1) при открытии формы вся колонка Frm.[y] пустая, хотя при выборе любого [y] открывается список полей
2) для всех [y] список записей одинаков, т.к. в условие отбора Access ставит ТОЛЬКО
первую запись из Me.[x], хотя нужно - свое значение для каждой записи на форме.

Если убрать WHERE - тот же эффект, только в списке все записи.

В чем ошибка?

Отзовитесь, кто знает, ПОЖАЛУЙСТА!

P.S. Для Frm.[y] в Tbl1 есть поле [y] - можно ли как-то в Tbl1 обойтись без него?
Т.к. форма только для просмотра, результат запроса хранить не нужно.

http://www.sql.ru/forum/1300582/kontroll-v-forme-ne-pokazyvaet-rezultat-zaprosa


Ошибка в Access-Runtime 2016

Вторник, 07 Августа 2018 г. 10:27 + в цитатник
Недавно у Даниэля Пино (Daniel Pineault) набрёл вот на такую статью

Access – Runtime “The database you are trying to open requires a newer version of Microsoft Access.”

Если Вы используете Runtime 2016 и получаете ошибку

Для базы данных, которую вы пытаетесь открыть, требуется более новая версия Microsoft Access.

при попытке запустить вашу базу данных. Это может быть вызвано использованием поля данных «Large Number» (BigInt).

К сожалению, Runtime не поддерживает «Large Number». Да, вы слышали правильно. Поэтому, хотя Microsoft добавила его в полную версию, он не поддерживается средой выполнения.

Причина
Из того, что я понимаю об общей ситуации, и не стесняйтесь исправлять меня, если кто-то знает иначе, Microsoft взяла на себя позицию:

- Только исправление ошибок для версий Perpetual License (MSI, umbreall, под которым установлена версия исполнения). Фактическая загрузка Runtime MSI Access была обновлена на сайте Microsoft в декабре 2015 года!
- Предоставление обновлений и исправлений ошибок для версии Click-to-Run (CTR / C2R) (в основном это Office 365)

Таким образом, версия Runtime не увидела добавленную / обновленную функцию «Large Number».

Решение
Существует два возможных решения:

1. Измените все поля типа данных «Large Number» на типы данных «Number».
2. Преобразуйте всех своих пользователей в нерабочее время. Поэтому дайте им полную версию Access. (Не забывайте, что вы вызываете еще симулируете среду выполнения с помощью переключателя командной строки / runtime). Конечно, это меньше, чем идеально, потому что это может иметь значительные финансовые последствия.

Microsoft, компания, давно известная своей выдающейся обратной совместимостью, где все еще можно открыть файл mdb более чем через десять лет после того, как формат файла был заменен, создал в своей собственной самой последней версии (CTR) несовместимость с MSI той же версии , Нет слов!

=====================================================
Вот такие дела, малята...

P.S. Прошу прощения за кривой перевод, но смысл, надеюсь, понятен.

P.P.S. Интересно, а Access Runtime 2013 и Access Runtime 2010 имеют этот глюк?
-------------------------------------------------------------
А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса?

http://www.sql.ru/forum/1300577/oshibka-v-access-runtime-2016


MS Access Построитель выражений Выражение содержит ошибочный подчиненный запрос

Вторник, 07 Августа 2018 г. 07:05 + в цитатник
Вместо id фамилии хочу вывести саму фамилию.
Для этого составил два выражения в построителе выражений(см. скриншот этого сообщения)
Оба выражения выдают ошибку: "Выражение содержит ошибочный подчиненный запрос. Проверьте синтаксис и заключите подчиненный запрос в скобки."

Вопрос: где ошибка в выражении?

http://www.sql.ru/forum/1300571/ms-access-postroitel-vyrazheniy-vyrazhenie-soderzhit-oshibochnyy-podchinennyy-zapros


Чем заменить запрос с параметрами от значений контролов при переносе его на SQL server?

Понедельник, 06 Августа 2018 г. 12:30 + в цитатник
Необходимо перенести таблицы разделённой базы Access с MDB на SQL server. Интерфейсная часть остаётся в MDB.

Как поступить с запросами на выборку у которых используются параметры, которые берут значения из контролов [Forms]![HugeForm]![thatControl] ? Чем их можно заменить? В базе они обычно используются для показа данных через DoCmd.OpenQuery.

http://www.sql.ru/forum/1300521/chem-zamenit-zapros-s-parametrami-ot-znacheniy-kontrolov-pri-perenose-ego-na-sql-server


Предпочтительный запуск запросов из Access к MySQL

Воскресенье, 05 Августа 2018 г. 19:04 + в цитатник
Не судите строго за тупой вопрос (я новичок в работе с MySQL)

На VBA у меня есть две возможности запуска готовых запросов: CurrentDB.Execute и docmd.runsql
Опыт показал, что при работе с локальными таблицами ощутимо быстрее работает 1-ый вариант. А что лучше использовать, если мои таблицы подтянуты и MySQL?

http://www.sql.ru/forum/1300486/predpochtitelnyy-zapusk-zaprosov-iz-access-k-mysql


Скорость запросов из Access к MySQL через ODBC

Воскресенье, 05 Августа 2018 г. 14:54 + в цитатник
Доброго времени суток

Купил я, короче, за 1$ хостинг на месяц здесь: zzz.com.ua
Создал там БД
Установил себе на комп коннектор ODBC для MySQL
В MS Access создал связь этой БД
Создал тестовую таблицу "Товары" с ключевым полем "код" и логическим полем "выделена" для теста запросов на обновление
Создал 1тыс записей
Создал в Акцесе запрос: Update Товары Set выделена=true

Вопрос: почему на сайте через редактор MySQL этот запрос выполняется в мгновение ока, а в Access 2-3 минуты?

http://www.sql.ru/forum/1300483/skorost-zaprosov-iz-access-k-mysql-cherez-odbc


Перекрёстный запрос по часам и дням

Суббота, 04 Августа 2018 г. 22:46 + в цитатник
Доброго времени суток, уважаемые форумчане! Встала задача сделать выборку из базы, чтобы было видно, насколько интенсивно, в какое время суток в течение года идут заказы. Выход я нашел такой: сделать перекрёстный запрос, в строках которого часы (от 0-23), а в столбцах день года (от 1-365). Реализовал я это таким запросом:
TRANSFORM Count (public_TS_Orders.ID) AS [Count-ID]
SELECT DISTINCT DATEPART ("h",public_TS_Orders.DeliveryTime) as 123
FROM public_TS_Orders
GROUP BY public_TS_Orders.DeliveryTime
ORDER BY public_TS_Orders.DeliveryTime, public_TS_Orders.DeliveryTime
PIVOT DatePart("y",public_TS_Orders.DeliveryTime);


В результате, по дням шкала правильная, а вот часы, дойдя до 23, начинаются снова с нуля. В общем, для наглядность прикладываю картинку.
Ткните пожалуйста носом, где я ошибся. Уже два дня гугл мучаю... Спасибо!

http://www.sql.ru/forum/1300467/perekryostnyy-zapros-po-chasam-i-dnyam


Заполнение поля значениями из предыдущих строк. (нарастающим итогом)

Пятница, 03 Августа 2018 г. 12:46 + в цитатник
Приветствую!

Никак не могу разобраться с несложной, на первый взгляд задачей.
Как при помощи SQL реализовать запрос, в котором дополнительном поле будет рассчитываться значение всех полей предыдущей строки.

Например: Есть таблица ДС, с полями дата ДС (дата), номер ДС(число).
Как написать запрос, чтобы дополнительное поле рассчитывало номер настоящего и все предыдущих ДС?

Изучал пример на форуме, но в основном все примеры с описанием реализации вывода только предыдущего значения.
http://www.sql.ru/forum/1195256/znachenie-polya-predydushhey-stroki-aksess-zapros-sql-bez-vba


SELECT доходы.счетчик, доходы.доход, доходы.период,(SELECT TOP 1 доходы2.доход FROM доходы AS доходы2 
WHERE  доходы2.период <доходы.период ORDER BY  доходы2.период DESC) AS предыдущее_значение
FROM доходы ORDER BY доходы.период

http://www.sql.ru/forum/1300387/zapolnenie-polya-znacheniyami-iz-predydushhih-strok-narastaushhim-itogom



Поиск сообщений в rss_sql_ru_access_programming
Страницы: 353 ... 316 315 [314] 313 312 ..
.. 1 Календарь