имеют следующий код vba для запроса из листа Excel (имя листа Structre), используя sql, но я сталкиваюсь с «синтаксической ошибкой в предложении FROM»
Dim MyConnect As String
Dim MyRecordset As ADODB.Recordset
Dim MySQL As String
MyConnect = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & ThisWorkbook.FullName & ";" & _
"Extended Properties=Excel 12.0"
mysql2 = SELECT [Structure$].c, [Structure$].a, [Structure$].b from [Structure$] _
join(SELECT a, sum(c) as csum FROM [Structure$] group by a) tmp on tmp.a=[Structure$].a
Set MyRecordset = New ADODB.Recordset
MyRecordset.Open mysql2, MyConnect, adOpenStatic, adLockReadOnly, adCmdText
ThisWorkbook.Sheets.Add
ActiveSheet.Range("A2").CopyFromRecordset MyRecordset
a b c Desired col: weights
Finance 1 123 123/(123+345+456)
Finance 2 345 345/(123+345+456)
Finance 3 456 456/(123+345+456)
Operation 1 789 789/(789+12)
Operation 2 12 12/(789+12)
BD 1 111 111/(111+222)
BD 2 222 222/(111+222)
что Я хотел бы сделать это из таблицы (со столбцами a, b, c), извлечь их и вставить новый вес столбца в виде c / sum (groupby (a)), как показано в таблице выше. Не уверен, где я иду не так (все еще newb ie до sql).
Ценю любую помощь