Вот я примерно об этом вам только что и писал. Подход странный.
Вы меняете или добавляете в один момент - одну запись. Одну. Нахрена писать их все?
Ловим событие after_update комбобокса с оценками. И вставляем/обновляем запись. Одну. Не забудьте проверять, что заполнены комбобоксы Grade, Subject, Student.
Это если очень хочется кодом. А ведь это же самое можно сделать вообще код не используя.
Простой вопрос. Для самого грида - это вот таблица, делаете запрос, возвращающий данные.
В комбобоксах - выпадающих списках, есть свойство after_update.
В нем делаете проверку на условия, если все хорошо - изменение запроса под новые условия.
Условно:
комбобокс класс, в нем два поля, id_class, class_name. Первое поле скрытое.
cmb_class_afterupdate()
' проверили значение комбобокса
' если все хорошо - присвоили новое значение рекордсету
bigint(10) это вид представления числа, то есть если число содержит менее 10 знаков, то слева оно заполняется нулями
0000000001
Сам BIGINT имеет размер в 8 байт (BIGINT всегда будет отведено 8 байт вне зависимости от длины поля.) и может хранить число из диапазона от -9223372036854775808 до 9223372036854775807.
Создаёте на внутреннем DNS сервере зону с именем сайта (например имя вашего сайта.ru. Затем внутри этой зоны создаёте запись типа А, где в поле адреса указываете внутренний IP вашего сайта, а поле имени оставляете пустым
Прочти последовательность подключения скрипта owl and jquery, jq должен быть перед owl. Пишу с планшета по этому думаю проблема в этом, но у меня она решилась так, думаю и у тебя такая же