Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Массивы
 
 автор: час   (08.07.2009 в 16:38)   личное сообщение
 
 

Ниже приведен пример функции поиска максимального элемента в массиве:



Function FindMax(ByVa1 a() As Integer
Dim finish As Integer = UBound(a)
Dim max As Integer = a(0)
Dim i As Integer


For i = 0 To finish
If a(i) > max Then max = a(i)
Next i


Return max End Function



Но может имеется встроенная функция????
типа Dmax(arrary())

  Ответить  
 
 автор: osmor   (08.07.2009 в 17:33)   личное сообщение
 
 

http://hiprog.com/index.php?option=com_content&task=view&id=459
отсортировать и взять верхний

  Ответить  
 
 автор: час   (11.07.2009 в 23:09)   личное сообщение
 
 

Спасибо попробую.....

=============================
Это другой топик
А можно как то узнать встроенными средствами
понедельник < вторника
или функцию свою писать????

  Ответить  
 
 автор: snipe   (12.07.2009 в 00:29)   личное сообщение
 
 

если есть необходимость часто искать мах значение в массиве то не проще ли его хранить в этом же массиве ну например в 0 элементе и сверять поступающие значения......

я чего то не понял про понедельник и вторник но чем Вас Weekday () не устраивает

  Ответить  
 
 автор: час   (12.07.2009 в 13:39)   личное сообщение
 
 

Weekday () - возвращает день недели... так ?

Я плохо описал ситуяйцию - звиняюсь.
Юзер делает выбор дней недели в двух комбобоксах
У меня в первом комбо_боксе понедельник, а во втором среда - это нормально...
А ежели наоборот - тогда крик , шум - неверно введены начения дней недели - вот так надо организовать............
А как тут применть Weekday () ???

  Ответить  
 
 автор: snipe   (12.07.2009 в 14:16)   личное сообщение
 
 

ну из-за моего недопонимания и результат....

я не знаю как устроены ваши комбобоксы....но посмею попредполагать
и так вариант первый у комбобокса присоединенный столбец числовой а юзер видит второй столбец строковый
вариант второй присоединенный столбец строковый
в первом случае на после обновления второго комбобокса вешаем проверку
if me!полесоспиком1.column(0)>me!полесосписком2.column(0) Then крик шум
во втором случае придется текст в цифирьки переводить а уж потом сравнивать

  Ответить  
 
 автор: час   (12.07.2009 в 14:39)   личное сообщение
 
 

Привет!!!!!
Заврался я в конец ......
Ващето дело в VB6 происходит
Но так как в ту ветку мало кто ходит
Я здесь свой вопрос написал
И вот в передряги попал..........

  Ответить  
 
 автор: час   (12.07.2009 в 14:40)   личное сообщение
 
 

боксы заполняются исхоя из настроек системы

dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H2A, buffer, 99)
DAY_FIRST.AddItem LPSTRToVBString(buffer)
dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H2B, buffer, 99)
DAY_FIRST.AddItem LPSTRToVBString(buffer)
dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H2C, buffer, 99)
DAY_FIRST.AddItem LPSTRToVBString(buffer)
dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H2D, buffer, 99)
DAY_FIRST.AddItem LPSTRToVBString(buffer)
dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H2E, buffer, 99)
DAY_FIRST.AddItem LPSTRToVBString(buffer)
dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H2F, buffer, 99)
DAY_FIRST.AddItem LPSTRToVBString(buffer)
dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H30, buffer, 99)
DAY_FIRST.AddItem LPSTRToVBString(buffer)


dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H2A, buffer, 99)
DAY_LAST.AddItem LPSTRToVBString(buffer)
dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H2B, buffer, 99)
DAY_LAST.AddItem LPSTRToVBString(buffer)
dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H2C, buffer, 99)
DAY_LAST.AddItem LPSTRToVBString(buffer)
dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H2D, buffer, 99)
DAY_LAST.AddItem LPSTRToVBString(buffer)
dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H2E, buffer, 99)
DAY_LAST.AddItem LPSTRToVBString(buffer)
dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H2F, buffer, 99)
DAY_LAST.AddItem LPSTRToVBString(buffer)
dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H30, buffer, 99)
DAY_LAST.AddItem LPSTRToVBString(buffer)



If DAY_FIRST > DAY_LAST Then
 DAY_FIRST.Text = ""
 DAY_LAST.Text = ""
End If

  Ответить  
 
 автор: час   (12.07.2009 в 14:50)   личное сообщение
 
 

Думаю массив использовать

Dim W_DAY(1 To 7) As String

dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H2A, buffer, 99)
DAY_FIRST.AddItem LPSTRToVBString(buffer) ' понедельник
W_DAY(1) = LPSTRToVBString(buffer)
dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H2B, buffer, 99)
DAY_FIRST.AddItem LPSTRToVBString(buffer) ' вторник
W_DAY(2) = LPSTRToVBString(buffer)
dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H2C, buffer, 99)
DAY_FIRST.AddItem LPSTRToVBString(buffer) ' среда
W_DAY(3) = LPSTRToVBString(buffer)
dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H2D, buffer, 99)
DAY_FIRST.AddItem LPSTRToVBString(buffer) ' четверг
W_DAY(4) = LPSTRToVBString(buffer)
dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H2E, buffer, 99)
DAY_FIRST.AddItem LPSTRToVBString(buffer) ' пятница
W_DAY(5) = LPSTRToVBString(buffer)
dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H2F, buffer, 99)
DAY_FIRST.AddItem LPSTRToVBString(buffer) ' суббота
W_DAY(6) = LPSTRToVBString(buffer)
dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H30, buffer, 99)
DAY_FIRST.AddItem LPSTRToVBString(buffer) ' воскресенье
W_DAY(7) = LPSTRToVBString(buffer)

  Ответить  
 
 автор: час   (12.07.2009 в 14:57)   личное сообщение
 
 

Апотом проверить

For F = 1 To 7
If W_DAY(F) = Me!DAY_FIRST Then DAY_F = F
Next F
For F = 1 To 7
If W_DAY(F) = Me!DAY_LAST Then DAY_L = F
Next F

If DAY_F > DAY_L Then
 DAY_FIRST.Text = ""
 DAY_LAST.Text = ""
End If

  Ответить  
 
 автор: час   (12.07.2009 в 15:09)   личное сообщение
 
 

Не красиво как то но.....



Dim F As Long
Dim W_DAY(1 To 7) As String
Dim DAY_F As Long
Dim DAY_L As Long








dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H2A, buffer, 99)
Me!DAY_FIRST.AddItem LPSTRToVBString(buffer) ' понедельник
W_DAY(1) = LPSTRToVBString(buffer)
dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H2B, buffer, 99)
Me!DAY_FIRST.AddItem LPSTRToVBString(buffer) ' вторник
W_DAY(2) = LPSTRToVBString(buffer)
dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H2C, buffer, 99)
Me!DAY_FIRST.AddItem LPSTRToVBString(buffer) ' среда
W_DAY(3) = LPSTRToVBString(buffer)
dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H2D, buffer, 99)
Me!DAY_FIRST.AddItem LPSTRToVBString(buffer) ' четверг
W_DAY(4) = LPSTRToVBString(buffer)
dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H2E, buffer, 99)
Me!DAY_FIRST.AddItem LPSTRToVBString(buffer) ' пятница
W_DAY(5) = LPSTRToVBString(buffer)
dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H2F, buffer, 99)
Me!DAY_FIRST.AddItem LPSTRToVBString(buffer) ' суббота
W_DAY(6) = LPSTRToVBString(buffer)
dl& = GetLocaleInfo(LOCALE_USER_DEFAULT, &H30, buffer, 99)
Me!DAY_FIRST.AddItem LPSTRToVBString(buffer) ' воскресенье
W_DAY(7) = LPSTRToVBString(buffer)




Private Sub DAY_FIRST_LostFocus()
For F = 1 To 7
If W_DAY(F) = Me!DAY_FIRST Then DAY_F = F
Next F
For F = 1 To 7
If W_DAY(F) = Me!DAY_LAST Then DAY_L = F
Next F
If NZVB(Me!DAY_LAST) = "" Then Exit Sub
If DAY_F > DAY_L Then
Call MsgBox("Не верно выбраны дни недели !!! " & Me!DAY_FIRST & " и " & Me!DAY_LAST, vbCritical)
 Me!DAY_FIRST.Text = ""
 Me!DAY_LAST.Text = ""
End If
End Sub


  Ответить  
 
 автор: snipe   (12.07.2009 в 16:30)   личное сообщение
 
 

Час - уважаемый.....
я не разбираюсь в VB вообще
ну не лазил туда еще
однако думаю так
если VBA продолжение VB то должен поддерживать то что может VB ...
видимо есть что то что Вы и Я упускаем
но присоединенный столбец.........это очень старое свойство

  Ответить  
 
 автор: час   (12.07.2009 в 19:53)   личное сообщение
 
 

ну и хорошо!!!!
А вот вопрос по винде...
правой кнопкой в свободном месте внутри папки щёлк
выпадает минюшка
выбираем создать
тут у меня пропала возможность создать текстовый файл
исчезла строка така - как это меню изменить - добавить , удалить????????????

  Ответить  
 
 автор: snipe   (12.07.2009 в 23:22)   личное сообщение
 
 

http://social.technet.microsoft.com/forums/ru-RU/vistaru/thread/844be258-6a10-43e0-a871-36e04691eeec/

забекапиться желательно - я про реестр

  Ответить  
 
 автор: snipe   (13.07.2009 в 00:01)   личное сообщение
 
 

Private Sub DAY_FIRST_LostFocus()
For F = 1 To 7
If W_DAY(F) = Me!DAY_FIRST Then DAY_F = F
If W_DAY(F) = Me!DAY_LAST Then
DAY_L = F
exit for
end if
Next F
If NZVB(Me!DAY_LAST) = "" Then Exit Sub
If DAY_F =0 Then
Call MsgBox("Не верно выбраны дни недели !!! " & Me!DAY_FIRST & " и " & Me!DAY_LAST, vbCritical)
Me!DAY_FIRST.Text = ""
Me!DAY_LAST.Text = ""
End If
End Sub

как вариант

  Ответить  
 
 автор: час   (13.07.2009 в 11:57)   личное сообщение
 
 

Спасибо за код!!!

  Ответить  
 
 автор: час   (13.07.2009 в 11:56)   личное сообщение
 
 

Спасибо!!!!!!! За ССылку!!!

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList