Primeiramente, devo lhe dizer que naum concordo com a forma como esta gravando os dados de suas Tabelas.
Naum pelo fato de ter separado a tabela de Materiais e a de Saldo, mas pq vc colocou-as em Bancos de Dados diferentes (Foi isso mesmo que entendi ???

).
Quando ha 2 tabelas com dados que se relacionam, a maneira mais segura de fazer com que fucione eh Relaciona-las(

) no Menu Ferramentas/Relacionamento do ACCESS, onde vc ira definir o tipo de Integridade Referencial do Relacionamento.
Feito isso Cria-se rotinas de Salvar/Alterar/Excluir no VB de Acordo com os relacionamentos. Por Exemplo:
Quando vc Inserir Um Material na Tabela de Materiais ira inserir Tambem o Saldo desse Material na Tabela de Saldo, mas quando vc Excluir um Material ira fazer o que?
Exlcuir o Saldo Tambem ou avisar que nao eh possivel excluir pq existe uma tabela 'depentente dessa informacao'?
Existem outras coisas tb para se pensar ao estruturar um Banco de Dados, e um banco bem estruturado evita muita dor de cabeca.
Agora, vamos ao seu problema.
Quando tenho 2 tabelas relacionadas Gravo a 'Tabela Mestre' Normalmente e depois abro a 'Tabela Dependente', gravo e fecho a 'Tabela Dependente'.
Nao abro 2 recordsets juntos, prefiro localizar o registro da 2ª tabela apenas quando necessario.
Tente usar comandos SQL para abrir seus recordsets que facilita muito.
_________________
Qualquer duvida Post
Te +