powered by simpleCommunicator - 2.0.19     © 2024 Programmizd 02
Map
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / И спросила кроха: "Что такое хорошо, и F_A_Q, как плохо"
21 сообщений из 46, страница 2 из 2
И спросила кроха: "Что такое хорошо, и F_A_Q, как плохо"
    #36104290
Фотография Sator Arepo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boobyавтор...Или что-то еще?
нет. ничего больше.
Вам стало от этого легче в своих эстетических изысканиях?

Нет, не стало - потому что и так было нетрудно, так как я не занимаюсь эстетическими изысканиями, даже если кому-то могло показаться обратное. Хотя эстетики в российской действительности не хватает, по моему скромному разумению. Вот от чего мне действительно "стало легче", так это от того, что мои псевдоэстетические изыскания привели к тому, что из ФАКа был вычищен сомнительный код, хотя Саныч и не стал "наводить крастоту с диезами", оставив красоту, которая уже была там, сказав свое веское слово.

booby
Существо дела вот в чем.
Не знаю, содержится ли в факе содержится это ошибка. Пусть она там есть.
В любом случае Вы предлагаете не исправить ее, а навести "эстетику" на дефетный код.
По существу согласен целиком и полностью: если бы я еще был так же уверен, что в ФАК каким-то чудом мог закрасться дефектный код, который мне всегда не нравился. Если бы я был профессионалом в программировании, или хотя бы имел достаточно наглости заявлять, что "а у Вас в ФАКе молоко подгорело", я бы именно на это и обратил внимание. Но будучи непрофессионалом и надостаточно наглым для большего, указал на "рюшечки", как Вы совершенно справедливо изволили заметить, о чем не жалею.
...
Рейтинг: 0 / 0
И спросила кроха: "Что такое хорошо, и F_A_Q, как плохо"
    #36104369
Guest33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Раз уж заговорили о красоте, то у меня вопрос - насколько красиво попадать по абсолютной ссылке внутрь блока if?
Пример (в конце функуции)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Function UpdateArticul(strOldArtic As String, _
                       strNewArtic As String, _
                       Optional lngIdSclad As Long =  0 )
  On Error GoTo mErr
  Dim strSQL As String
  Dim cnn As New ADODB.Connection
  ........
exithere:
  If Not cnn Is Nothing Then
    If cnn.State = adStateOpen Then
        cnn.RollbackTrans
        cnn.Close
    End If
    Set cnn = Nothing
  End If
  Exit Function
mErr:
  If Err.Number = - 2147168242  Then
    '-2147168242   Попытка занесения или свертывания транзакции
    'без предварительного начала транзакции.
    Resume Next
  End If
  MsgBox "Изменение артикула не выполнено, так как:" & Err & " " & Error
  Resume exithere
End Function

Под красотой понимаю в порядке убывания
1. Соответствие логики выполнения кода "внутренним законам работы компьютера", т.е. "неправильное не может быть красивым", если правильно понял пафос Booby.
2. Простоту и изящество решения
3. Удобочитаемость кода.
...
Рейтинг: 0 / 0
И спросила кроха: "Что такое хорошо, и F_A_Q, как плохо"
    #36104397
Фотография qwrqwr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guest33Раз уж заговорили о красоте, то у меня вопрос - насколько красиво попадать по абсолютной ссылке внутрь блока if?
Пример (в конце функуции)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Function UpdateArticul(strOldArtic As String, _
                       strNewArtic As String, _
                       Optional lngIdSclad As Long =  0 )
  On Error GoTo mErr
  Dim strSQL As String
  Dim cnn As New ADODB.Connection
  ........
exithere:
  If Not cnn Is Nothing Then
    If cnn.State = adStateOpen Then
        cnn.RollbackTrans
        cnn.Close
    End If
    Set cnn = Nothing
  End If
  Exit Function
mErr:
  If Err.Number = - 2147168242  Then
    '-2147168242   Попытка занесения или свертывания транзакции
    'без предварительного начала транзакции.
    Resume Next
  End If
  MsgBox "Изменение артикула не выполнено, так как:" & Err & " " & Error
  Resume exithere
End Function
раз уж топик все более напоминает лесенку :))
я бы это так переписал:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
  ........
exithere:
On Error Resume Next
        cnn.RollbackTrans
        cnn.Close
        Set cnn = Nothing
  Exit Function
mErr:
  MsgBox "Изменение артикула не выполнено, так как: " & Err.Number & " " & Error.Description
  Resume exithere
End Function
Guest33Под красотой понимаю в порядке убывания
1. Соответствие логики выполнения кода "внутренним законам работы компьютера", т.е. "неправильное не может быть красивым", если правильно понял пафос Booby.
2. Простоту и изящество решения
3. Удобочитаемость кода.
п.п. 1 и 2 не смею касаться - ибо громкие слова
п.3 вроде так соответствует более
+ п.4 - приучил себя всегда писать метод/свойство после точки - м.б. кроме Item и Controls
...
Рейтинг: 0 / 0
И спросила кроха: "Что такое хорошо, и F_A_Q, как плохо"
    #36104404
Guest33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On Error Resume Next
Это, естественно, первое, что пришло в голову, чтобы избежать попадания внутрь ифа. Меня инересует то, что я спросил. Заметил, кстати, что Вы очень широко используете резюм некст, очевидно для придания особой краткости=красоты.
п.п. 1 и 2 не смею касаться - ибо громкие слова
Не понимаю, причем тут громкие слова. Стремлюсь по мере скромных возможностей к п. 2 и от этого получаю удовольствие (от старания достигнуть, а не от того, что считаю, что достиг).
Тут смысл в том, что вот я, например, не люблю мыть посуду, но уж если мою, то стараюсь почище, а вовсе не высокие слова.
...
Рейтинг: 0 / 0
И спросила кроха: "Что такое хорошо, и F_A_Q, как плохо"
    #36104425
Фотография qwrqwr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guest33Меня инересует то, что я спросил. Вы спросили насколько красиво попадать по абсолютной ссылке внутрь блока if?
В моем понимании переход по абсолютной ссылке = GOTO метка
в Вашем коде ничего подобного я не заметил - поэтому предположил, что речь идет о доп. обработке ошибки, возможной при работе внутри обработчика ошибки.
Все там написано правильно - но имхо, несколько запутано - я попробовал чуть распутать.
Guest33Заметил, кстати, что Вы очень широко используете резюм некст, очевидно для придания особой краткости=красоты. Я использую не широко, а ровно настолько, насколько оно нужно в конкретном случае.
То, что очевидно Вам, мне не очевидно.
Хотя часто вариант с On Error Resume Next действительно немного более краткий = читабельный (имхо)
Guest33Стремлюсь по мере скромных возможностей к п. 2 и от этого получаю удовольствие (от старания достигнуть, а не от того, что считаю, что достиг). +1
Guest33вот я, например, не люблю мыть посуду+1
...
Рейтинг: 0 / 0
И спросила кроха: "Что такое хорошо, и F_A_Q, как плохо"
    #36104605
Фотография CoolMind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извините, что влезаю в разговор со своим неумением :)
booby , Вы меня несколько не так понимаете. Я не жаловался на то, что всё не работает, висит, не удаляется. Просто в некоторых (описанных выше) ситуациях происходит выдача лишних сообщений. Конечно, это ошибка в моём коде. И в программировании БД на Аксессе я многого не знаю. Сам начал учиться на нём ещё в 2001, затем был перерыв, и в 2006 снова сел. Я не говорю, что нахожусь в полном отчаянии, напротив, работаю себе спокойно и не печалюсь. Пользователи привыкли к разным багам и уже их не замечают. Благо, схема данных правильно описана, и потери записей, случись что, не происходит. Я был зарегистрирован на этом форуме ещё, кажется, в 2007 г. и всё это время веду проект, скриншот из которого Вы могли видеть в другом топике. Да, на этой работе нам досталось много Access-проектов, которые мы поддерживаем, пишем отчёты в Word'е и Excel'е. Но я не читаю код, который там уже написан, т.к. его там много, и он несколько неоднозначен. Т.е. изучаю Аксесс самостоятельно. Да, были проблемы с колесом мыши (этот Аксессовский баг широко известен), да, база падает при зависании компа, и можно испортить записи, если схема данных неправильная (что происходит в базах, доставшихся по наследству). Да, я недоволен Аксессом за его скорость и надёжность. Но говорить, что я не понимаю, что делаю, - это преждевременно :)
Да, я с Вами согласен, наводить красоту - моё любимое занятие. Могу часами изучать код, чтобы сделать его короче, понятнее или шустрее. Могу сравнивать по скорости отдельные функции, например, InStr и оператор Like; пытаться искать недостатки в обращении Form_имя_формы (кстати, у этого способа есть даже достоинство - виден выпадающий список свойств и методов после нажатия точки), могу искать разницу между вычислением формул в Word'е и вычислением этих же чисел при помощи VBA. Но я не говорю, что сижу и не знаю, что делаю. Как-никак, в программировании с 93 года :)
Извините, может, и правда, не стоило заводить отдельную тему.
Sator Arepo , очень рад, что Вы достигли поставленной цели.
...
Рейтинг: 0 / 0
И спросила кроха: "Что такое хорошо, и F_A_Q, как плохо"
    #36104908
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 CoolMind
То, что я говорил Вам в своем последнем посте, говорилось исходя из предположения, что у Вас возникла практическая потребность в красоте.
Такая потребность возникает, когда красота становится последним средством спасения собственной задницы.
Вы же продолжаете настаивать, что это совсем не так.
Что ж, остается только пожелать Вам удачи в Ваших (по моему мнению – пустых) занятиях красотой.
...
Рейтинг: 0 / 0
И спросила кроха: "Что такое хорошо, и F_A_Q, как плохо"
    #36105237
Фотография CoolMind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby, иногда во время спора полезно остыть и перестать отвечать на возражения. но не в моём случае.
booby, если вы так хотите упорствовать и понаезжать, отвечу.
1) ни у кого ничего не горит. мне по шапке никто не стучит. я волен в выборе средств и сроков выполнения задачи. программа работает (хоть и с багами). это был лишь один из них.
2) сейчас передо мной стоят другие задачи, такие как написание отчётов (для вывода в Word). это я прекрасно умею (за 3 года натренировался). и уж поверьте мне, что гораздо лучше вас.
3) за красоту кода я постою. более того, я считаю, что если программа страшно написана, плохо комментирована, в ней не соблюдены стандарты - выкинуть нужно эту программу и не разбираться в ней. лично мой стиль сложился годами, я комментирую, в среднем, каждую 5 строку, описываю различные проблемы, которые могут порождаться. веду контроль версий, по нему видно, что и когда делалось.
в настоящее время, в связи с вашим упорством, заявляю следующее.
Me.Controls!_и_так_далее
не имеет преимуществ перед
Form_название_формы
ни по одному пункту.

я не встречал ошибок в использовании Form_название_формы и считал это более "свежим" и понятным синтаксисом в сравнении с 97 Аксессом.
Form_название_формы имеет преимущество перед вашим Me.Controls! хотя бы в том, что появляются всплывающие подсказки по полям и методам, и нельзя обратиться к свойствам, которых нет, в отличие от Me.Controls!
вы меня лично обозлили, я не хочу более в этой ветке с вами спорить.
...
Рейтинг: 0 / 0
И спросила кроха: "Что такое хорошо, и F_A_Q, как плохо"
    #36105516
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по вашим пунктам

1) вы работаете в райских условиях. Не только полной свободы, но и полной безответственности.
Даже не знаю, завидовать вам или нет.

2) Во что вы предлагаете мне поверить?
В то, что вы умеете "выводить отчеты в Word" у меня оснований верить нет.
А вот в то, что абсолютно самоуверенны, катастрофическим для дела образом - в это я охотно верю.

3) Вы не замечаете парадокса? Готовы постоять за красоту и пишите при этом безобразные программы.
Программа на акцессе написана безобразно (почти наверно - на 99.999%), если в ней встречается конструкция Form_имяФормы.
Программа на акцессе точно (100%) написана безобразно, если в ней замечены конструкции вида:

Код: plaintext
1.
Me.Controls!фДвижение.Form.Результат.RowSource = Me.Controls!фДвижение.Form.Результат.RowSource
Forms!фДела.Controls!фДвижение.Form.RecordSource = Forms!фДела.Controls!фДвижение.Form.RecordSource
Пыло бы просто, если бы в своих попытка рассуждать о красоте вы показали себя человеком не имеющим представления о предмете красоты.
Все гораздо хуже - вы демострируете извращенные, ложные представления и настаиваете на них.


4)
я с вами не спорил. Для меня здесь нет предмета спора. Как и не ставил себе цель злить вас.
Я высказывал собствую точку зрения, которая не требует доказательства в споре.
Является ли она для вас бесполезной - вам решать.
По поводу попадания в состояние сзлости: может быть умнее сейчас хотя бы попытаться задуматься, над тем что я вам сказал, чем потом услышать от собственного руководства, что вы с 93го года занимаетесь не своим делом.
...
Рейтинг: 0 / 0
И спросила кроха: "Что такое хорошо, и F_A_Q, как плохо"
    #36105534
Фотография CoolMind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тем лучше. Каждый остался при своём мнении. Меня убедили лишь некоторые участники. Однако, и моя позиция лично для меня сильно не поколебалась. Переход на личности меня и позабавил, и разозлил своей неправдоподобностью.
...
Рейтинг: 0 / 0
И спросила кроха: "Что такое хорошо, и F_A_Q, как плохо"
    #36105662
Let
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Let
Гость
CoolMindя не встречал ошибок в использовании Form_название_формы и считал это более "свежим" и понятным синтаксисом в сравнении с 97 Аксессом.
Form_название_формы имеет преимущество перед вашим Me.Controls! хотя бы в том, что появляются всплывающие подсказки по полям и методам, и нельзя обратиться к свойствам, которых нет, в отличие от Me.Controls!

А если открыто несколько экземпляров формы Form1, то в каком из них выполнится метод Form_Form1.SomeMethod()? ;-) Это первое что пришло в голову. Если покопаться, то найдутся еще аргументы против такого обращения к форме.

А если придеться переименовать форму, то придеться править код?

То что появляются всплывающие подсказки это всего лишь удобство программирования, и не более того.

Все ИМХО.
...
Рейтинг: 0 / 0
И спросила кроха: "Что такое хорошо, и F_A_Q, как плохо"
    #36105738
Фотография CoolMind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Let, совершенно согласен. По этим причинам я и решил переписать программу на вариант с Forms("").Controls!
Но уверен, что ничего не произошло, поскольку у меня дизайн пока что деревянный, формы открываются в модальном диалоговом режиме, каждому модулю соответствует ровно 1 форма. Ну а что поделать? Я решил, что так проще. Работа со справочником удобнее в диалоговом окне, а то они так и потеряться могут (одна форма закроет другую, пользователи и запутаются).
Несколько месяцев назад последовательно открывал разные дискуссии по проблемам, которые возникали. В том числе, к чему нам нужны RaiseEvents. Один человек с ником "сосед. бывший акцессник" довольно убедительно рассказал, зачем нужен интерфейс со множеством окон. Когда, не отходят от кассы, можно и поиск организовать, и данные вставить. Объясните, пожалуйста что революционного дает использование Event?
Вот такие дела :) В общем, в простых случаях оба варианта эквивалентны.
Кстати, а что насчёт переименования формы? В коде тоже названия сами поменяются? :) Ну я по-старинке, Ctrl+H использую.
...
Рейтинг: 0 / 0
И спросила кроха: "Что такое хорошо, и F_A_Q, как плохо"
    #36105821
АлексейЕ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спешу огорчить вас, CoolMind
CoolMind… и считал это более "свежим" и понятным синтаксисом в сравнении с 97 Аксессом.

Из хелпа

Новые возможности Microsoft Access 95
В Microsoft Access определен новый способ, позволяющий быстро открыть форму и сослаться на метод или свойство этой формы или одного из содержащихся в ней элементов управления в одной инструкции. Это делается путем ссылки на модуль класса, как показано в следующем примере.

Form_Сотрудники.Visible = True
Form_Сотрудники.Caption = "Новые сотрудники"

При выполнении этой программы Microsoft Access открывает форму «Сотрудники» в режиме формы, если эта форма еще не открыта, и выводит новый заголовок формы. Форма не является видимой до тех пор, пока для ее свойства Вывод на экран (Visible) не задано значение True (-1). После завершения выполнения процедуры, в которой вызывается эта программа, экземпляр формы уничтожается, т.е. форма закрывается.

Так что, этот синтаксис более древний чем Access 97
...
Рейтинг: 0 / 0
И спросила кроха: "Что такое хорошо, и F_A_Q, как плохо"
    #36105853
Фотография CoolMind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейЕ,
...
Рейтинг: 0 / 0
И спросила кроха: "Что такое хорошо, и F_A_Q, как плохо"
    #36105856
АлексейЕ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CoolMind
Кстати, а что насчёт переименования формы? В коде тоже названия сами поменяются? :) Ну я по-старинке, Ctrl+H использую.
Когда вы обращаетесь Me.SubForma.Form ... в случае если вы в контроле субформа поменяете Объект-источник, то в коде ни чего править не надо, Access и так поймет с чем ему предстоиит работать, а вот в случае
Form_название_формы
придется выискивать и менять...
а если имеются обращения из третих модулей?
А если при этом форма остается и используется в другом месте?, то придется еще анализировать где оставить Form_название_формы, а где заменить на Form_Новое_название_формы
...
Рейтинг: 0 / 0
И спросила кроха: "Что такое хорошо, и F_A_Q, как плохо"
    #36106291
Фотография CoolMind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейЕ, вероятно, мой способ работы с формами пришёл из Дельфи, где такой способ общепринят. А в целом с вами согласен.
...
Рейтинг: 0 / 0
И спросила кроха: "Что такое хорошо, и F_A_Q, как плохо"
    #36106338
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CoolMindАлексейЕ, вероятно, мой способ работы с формами пришёл из Дельфи, где такой способ общепринят. А в целом с вами согласен.

...да что ж Вы такое на делфи наговариваете!!
сходство заканчивается на том что Делфя по умолчанию называет формы Form1, Form2...
ну и у Вас вызов - Form_название_формы.
вот всё сходство

но Form1 - это экземпляр класса (объект) TForm1
а Form_название_формы - это , скажем так, ну почти класс - но не объект!

и вызов Form1.Caption в делфях и Form_название_формы.Caption - это 2-е большие разницы
...
Рейтинг: 0 / 0
И спросила кроха: "Что такое хорошо, и F_A_Q, как плохо"
    #36106372
Фотография CoolMind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwerty112, не спорю. В плане программирования VBA не конкурент Дельфи. Вы совершенно верно указали на неполноценность объектов, созданных в VBA.
...
Рейтинг: 0 / 0
И спросила кроха: "Что такое хорошо, и F_A_Q, как плохо"
    #36107047
Опять 25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CoolMindВ плане программирования VBA не конкурент Дельфи.
Что же ты ДЕЛЬФИ-то забросил и пересел на vba?
...
Рейтинг: 0 / 0
И спросила кроха: "Что такое хорошо, и F_A_Q, как плохо"
    #36107058
qwrqwr_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Опять 25CoolMindВ плане программирования VBA не конкурент Дельфи.
Что же ты ДЕЛЬФИ-то забросил и пересел на vba?дык вот же ТС еще на 1 стр. признался, что:
"Аксесс в связке с VBA - некая гремучая смесь ... так привыкаешь, что уже с трудом мыслишь по-другому." - выходит, подсел и соскочить не может....
...
Рейтинг: 0 / 0
И спросила кроха: "Что такое хорошо, и F_A_Q, как плохо"
    #36107077
Фотография CoolMind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опять 25,
я прошёл сложный путь :))
Сначала TP 5.5 - 7, потом VC++, Delphi, потом VB, теперь вот снова на VBA.
Лицей, универ, завод, армия, потом ещё сисадмином работал, а на текущей работе снова программистом. Но, кстати, от программирования в Word'е уйти не можем, даже не касаясь Аксесса. Поскольку программа делопроизводства выводит отчёты именно в Ворд и Эксель... Так что уже четвёртый год мне не выбирать...
Разве что работу поменять.
А вообще, ваши подколы мне нравятся в данном топике)))
...
Рейтинг: 0 / 0
21 сообщений из 46, страница 2 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / И спросила кроха: "Что такое хорошо, и F_A_Q, как плохо"
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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