Option Explicit Const dbDriverNoPrompt = 1 Const dbUseODBC = 1 Const dbOpenDynamic = 16 Dim SQL Dim DAO, W, C, R Dim MysqlHost, MysqlPwd, MysqlUID, MysqlDB Dim ConnectStr, DriverStr MysqlHost = "" MysqlUID = "" MysqlPwd = "" MysqlDB = "" 'DriverStr = "MySQL ODBC 3.51 Driver" DriverStr = "MySQL ODBC 5.1 Driver" ConnectStr = "ODBC;SERVER=" & MysqlHost & ";DRIVER=" & DriverStr & ";PWD=" & MysqlPwd & ";DATABASE=" & MysqlDB & ";UID=" & MysqlUID Set DAO = CreateObject("DAO.DBEngine.36") Set W = DAO.CreateWorkspace("myODBC", "", "", dbUseODBC) Set C = W.OpenConnection("", dbDriverNoPrompt, False, ConnectStr) C.Execute "DROP TABLE IF EXISTS `xtest`;" C.Execute "CREATE TABLE `xtest` (" & _ " `ID` int(10) unsigned NOT NULL AUTO_INCREMENT," & _ " `MEMO1` longtext NOT NULL," & _ " PRIMARY KEY (`ID`) USING BTREE" & _ ") ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;" 'INSERT TEST DATA. C.Execute "INSERT INTO xtest (MEMO1) Values('ABCDEFGHIJKLMNOPQRSTUVWXYZ');" C.Execute "INSERT INTO xtest (MEMO1) Values('1234');" 'Run query so memo field with smallest length is in the last record. WScript.echo "Run query so memo field with smallest length is in the last record." Set R = C.OpenRecordset("Select * from xtest order by ID", dbOpenDynamic) WScript.echo "ID=" & R.Fields("ID").Value & vbtab & "MEMO=" & R.Fields("MEMO1").Value & vbtab & "LENGTH=" & Len(R.Fields("MEMO1").Value) R.MoveNext WScript.echo "ID=" & R.Fields("ID").Value & vbtab & "MEMO=" & R.Fields("MEMO1").Value & vbtab & "LENGTH=" & Len(R.Fields("MEMO1").Value) R.Close 'Reverse order so memo field with largest length is in the last record. WScript.echo "Reverse order so memo field with largest length is in the last record." Set R = C.OpenRecordset("Select * from xtest order by ID DESC", dbOpenDynamic) WScript.echo "ID=" & R.Fields("ID").Value & vbtab & "MEMO=" & R.Fields("MEMO1").Value & vbtab & "LENGTH=" & Len(R.Fields("MEMO1").Value) R.MoveNext WScript.echo "ID=" & R.Fields("ID").Value & vbtab & "MEMO=" & R.Fields("MEMO1").Value & vbtab & "LENGTH=" & Len(R.Fields("MEMO1").Value) R.Close C.Close