Есть ли способ изменить тип поля DAO.Recordset в VBA?Как изменить тип поля DAO.Recordset
По какой-то причине интерпретатор evalueted набора записей поле типа 8 (DateTime), но мне нужно это поле, чтобы быть текст, как это должно быть
Я попробовал следующее:
rs.Fields(0).Type = 10
, но это дает мне пункт не найдено в этой коллекции. ошибка.
Есть ли способ изменить тип конкретного поля в DAO.Recordset?
Edit1: Вот что я получил до сих пор
Private Sub doMagic()
Dim db as DAO.Database
Dim rs as DAO.Recordset
Dim sql as String: sql = "SELECT * FROM [Sheet1$] WHERE [Column1] IS NOT NULL"
Set db = OpenDatabase(ThisWorkbook.FullName, False, True, "Excel 8.0; HDR=Yes; IMEX=1;"
set rs = db.OpenRecordset(sql)
Dim updateSQL As String: updateSQL = "ALTER TABLE [Sheet1$] ALTER COLUMN [Column5] TEXT(100)"
' I tried following, non of them working:
' db.RunSql(updateSQL) - error: Metod or data member not found
' db.Execute(updateSQL) - fails with error: Operation is not supported for this type of object.
' DoCmd.RunSql(updateSQL)- error: Object required
End Sub
Вам необходимо подать в суд на команду 'ALTER'. Вы не можете изменить такой тип. – PaulFrancis
@PaulFrancis Можете ли вы предоставить мне пример, как это сделать? Я не могу найти примеры/документацию об этом – Kajiyama
Just Googled: ** изменить структуру полей таблицы vba access **. Я получил это: https://msdn.microsoft.com/en-us/library/office/ff822825.aspx – PaulFrancis